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 大版本更新也已经差不多半年了,撒花撒花!这次更新又更新 ...
随机推荐
- js 金融数字格式化
js 金融数字格式化 finance money number format 数字格式化 regex `123456789`.replace(/\B(?=(\d{3})+(?!\d))/g, ',') ...
- Regular Expression & rgb2hex
Regular Expression & rgb2hex regex // 颜色字符串转换 function rgb2hex(sRGB = 'rgb(255, 255, 255)') { co ...
- es6 & map & set
es6 & map & set Map & WeakMap https://developer.mozilla.org/en-US/docs/Web/JavaScript/Re ...
- NGK项目是一个怎样的项目?区块链里算是有前景的吗?
牛市时,项目被众星捧月,优点被无限放大,缺点无限被掩盖:而当市场开始下行时,之前的赞美则变成了贬低.所以了解项目不能盲目跟风,需要有独立的思考.对于近期引起社区讨论的NGK项目,以它为例,今天就来给大 ...
- go-admin在线开发平台学习-4[细节解析]
紧接着上一期的内容,继续对go-admin的一些细节进行解析. 通用的增删改查方法 在go-admin/common/actions下封装了通用的增删改查方法.在对这些方法进行说明前,先移步到另一个文 ...
- Dyno-queues 分布式延迟队列 之 生产消费
Dyno-queues 分布式延迟队列 之 生产消费 目录 Dyno-queues 分布式延迟队列 之 生产消费 0x00 摘要 0x01 前情回顾 1.1 设计目标 1.2 选型思路 0x02 产生 ...
- 注解处理器APT详解
本文转载自ANNOTATION PROCESSING 101 Introduction In this blog entry I would like to explain how to write ...
- 学习笔记——JVM性能调优之 jmap
jmap jmap(JVM Memory Map)命令可生成head dump文件,还可查询finalize执行队列.Java堆和永久代的详细信息. 通过配置启动参数:-XX:+HeapDumpOnO ...
- 最常用SQL joins:内连接(交集)、左外连接、右外连接、左连接、右连接、全连接(并集),全外连接
1.内连接.两个表的公共部分用Inner join,Inner join是交集的部分. Select * from TableA A inner join TableB B on A.key=B.ke ...
- MySQL:事务机制
为什么需要事务处理? 在执行SQL语句的时候,某些业务要求,一系列操作必须全部执行,而不能仅执行一部分. MySQL5.0后引入了事务机制,MySQL支持几种基本的数据库引擎,并非所有引擎都支持事务处 ...