Android Studio 之生成正式签名的 APK 文件
生成 APK 文件
•步骤
点击 Build -> Generate Signed...... ;
来到如下界面;
选择 APK 选项,点击 Next 来到如下界面;
如果你电脑上没有一个正式的 keystore 文件,点击 Create new 按钮,弹出如下对话框;
Key store path : 选择 Key store 的存储路径,我放到了 D:\AndroidStudio\APK\ 目录下,并命名为 key-store.jks
Password : 自己定义密码,最好和下面的 Password 设置成相同的密码,容易记住
Alias : 为 Key store 取一个别名
都填好后,点击 OK 按钮即可;
此时,他可能会报错;
别急,莫慌,点击 OK 后来到如下界面;
如果你希望以后都不用再输 Keystore 密码,就把 Remember passwords 勾选上;
然后点击 Next 按钮,跳转到如下界面;
Destination Folder : 设置打包后的 APK 放置路径
debug : 测试版
release : 发行版
V1 or V2 签名选择 : 见这篇博客
点击 Finish 按钮完成打包,然后,到你填写的 APK 放置路径找到打包好的 APK,发送到手机上安装即可;
或者根据右下角的提示,点击 locate 找到相应的路径;
打包过程中遇到的 bug
•bug1
•bug1 解决方案
打开 cmd ,输入如下指令:
keytool -genkey -alias testalias -keypass 123456 -keyalg RSA -keysize 2048 -validity 36500 -keystore D:\AndroidStudio\APK\test.keystore -storepass 123456
testalias : 设置的 alias 值
123456 :设置的 password
D:\AndroidStudio\APK\test.keystore:设置的 keystore 路径(自行设置)
按下回车,出现如下界面;
上述步骤都完成后,你会在你设置的 keystore 路径 (D:\AndroidStudio\APK)下找到 test.keystore 文件;
然后,重复上述安装步骤,来到如下界面时;
选择 Choose existing 按钮,并找到 D:\AndroidStudio\APK 下的 test.keystore 文件;
其余步骤就和上面的剩下的安装步骤一样了;
•bug2
•bug2 解决方案
打开 app 下的 build.gradle,在 android{} 中添加如下代码;
lintOptions{
checkReleaseBuilds false
abortOnError false
}另一种修改方式:参考博客
•bug3
error: failed to read PNG signature: file does not start with PNG signature
错误原因:复制图片到 Android Studio 时,手动将 .jpg 后缀的图片改成了 .png 格式;
你需要专业的工具将 .jpg 图片转换成 .png 图片,转换好后在添加到 Android Studio 中;
•bug3 解决方案
【方案一】:【在线图片转PNG格式】
- 登录此网站,将图片在线转成 png 即可
【方案二】:格式工厂
- 如果你有网盘会员,点击这里下载【,提取码:1234】
- 也可以使用这个网页极速下载,安装时要注意捆绑软件
•bug4
Password verification failed
•bug4 解决方案
将主项目的 build 文件夹(app/build)整个删除,再打包重新输入密码后成功。
Android Studio 之生成正式签名的 APK 文件的更多相关文章
- 如何用Android studio生成正式签名的APK文件
必须签名之后才可以发布到app商店中. 平时的调试的app都有默认的签名. 下面是生成带签名的APK的步骤: 1. Build 选择 Generate Signed APK 2. 弹出框,第一次选择C ...
- Android Studio 打包生成正式apk(XXX-release.apk)的两种方式
{ 方式一:使用Android Studio生成1.点击Build->Generate Signed apk,首次点击可能会提示输入操作系统密码2.弹出如下对话框,还没有生成过keystore ...
- Android Studio非gradleproject编译后的apk文件在哪?
非gradle的apk文件位置和gradle有一些差别,怎样找到apk文件在哪?我直接上图吧,选中project,右键: 在windows是选择"show in exlporer" ...
- android studio 怎么将项目打包成apk文件
1.Build -> Generate Signed APK...,打开如下窗口 2.假设这里没有打过apk包,点击Create new,窗口如下 这里只要输入几个必要项 Key store p ...
- Android Studio单独生成apk
/********************************************************************* * Android Studio单独生成apk * 说明: ...
- [转]使用ant让Android自动打包的build.xml,自动生成签名的apk文件(支持android4.0以上的版本)
在android4.0以后的sdk里那个脚本就失效了,主要是因为 apkbuilder这个程序不见了: 人家sdk升级,我们的脚本也要跟上趟,修改一下喽. 上网一查,大家的文章还停留在我去年的脚本程度 ...
- Android 开发基础入门篇: 生成带有签名的apk安装包
说明: 软件默认生成的安装包没有签名,现在手机安装APP的时候要求,安装包必须有签名才可以 默认生成的APK位置 现在生成带有签名的APK 我一般放到当前工程根目录,然后文件名字 key 有些时候需要 ...
- Android Studio 3.0正式版填坑之路
原文:https://www.jianshu.com/p/9b25087a5d7d Android Studio 3.0启动图 序言 总看别人的文章,今天尝试着自己来写一篇.在逛论坛时候,无意间发 ...
- Android Studio 3.6 正式版终于发布了
Google 下载地址 百度云 下载地址 密码:epl9 如题,Android Studio 3.6 正式版终于发布了,值得兴奋呀,毕竟 3.5 大版本更新也已经差不多半年了,撒花撒花!这次更新又更新 ...
随机推荐
- 什么是 DNS 的 A记录 和 CNAME记录 域名解析 为我的自定义域名创建 CNAME 记录
# CNAME https://support.google.com/blogger/answer/58317?hl=zh-Hans 为我的自定义域名创建 CNAME 记录 如果您的域名不是在 Blo ...
- JavaScript 注释规范
JavaScript 注释规范 总原则 As short as possible(如无必要,勿增注释).尽量提高代码本身的清晰性.可读性. As long as necessary(如有必要,尽量详尽 ...
- Flutter & Scaffold & multiple floatingActionButton
Flutter & Scaffold & multiple floatingActionButton demo import 'package:flutter/material.dar ...
- modal 遮罩层,滚动穿透 bug
modal 遮罩层,滚动 穿透bug float 弹层 taro 小程序弹框 滚动击穿 问题 https://segmentfault.com/q/1010000011134345 solution ...
- NGK公链:通用型存储网络
NGK公链,是一条发展中的通用型存储网络. NGK的运用归结与存储场景.NGK通证的运用归结于支付场景.个人数据被中心化服务商买卖.被大数据服务商使用.被无数的商务及销售人员窃取.那么NGK的运用场景 ...
- 【Python核心编程笔记】一、Python中一切皆对象
Python中一切皆对象 本章节首先对比静态语言以及动态语言,然后介绍 python 中最底层也是面向对象最重要的几个概念-object.type和class之间的关系,以此来引出在python如何做 ...
- http接口的学习(暂时只是记录,测试之后重新更新)
链接1:https://blog.csdn.net/java173842219/article/details/54020168 链接2:https://blog.csdn.net/u01132074 ...
- MySQL 导出 select 结果集
reference: https://blog.csdn.net/huaishuming/article/details/74762652法一:SELECT * from jc_archives wh ...
- 第30天学习打卡(异常概述 IO流概述)
异常概述 即非正常情况,通俗的说,异常就是程序出现的错误 异常的分类(Throwable) 异常(Exception) 合理的应用程序可能需要捕获的问题 举例:NullPointerException ...
- SpringBoot(七):SpringBoot中如何使用过滤器(Filter)?
方式一: 通过注解方式实现: 1.编写一个Servlet3的注解过滤器(和上一章Servlet相似) 贴代码: package com.example.springbootweb.filter; im ...









