使用 Android 签名 APK
Posted yizai()
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 Android 签名 APK相关的知识,希望对你有一定的参考价值。
1 签名的作用
1.1 确定发布者的身份
应用开发者可以通过使用相同包名来替换已经安装的程序,而使用签名可避免该情况发生。
1.2 确保应用的完整性
签名会对应用包中的每个文件进行处理,以确保文件不被替换。
2 使用 android Studio 对 Android应用 签名
2.1 选择发布方式
在菜单栏中找到Build,选择Generate Signed Bundle/APK…菜单项。
- Android App Bundle方式发布的App更小、安装更快,但仅支持Google Play。
- 选择APK方式,单击Next按钮。
2.2 创建数字证书
若系统中还没有数字证书,则单击Create new…按钮。
填写相关信息,单击OK按钮。
注意两处密码和确认密码要相同,否则会出错。
单击Next按钮。
2.3 保存安装包
选择安装包的存储路径,以及生成的版本,单击Finish按钮。
3 使用 Android命令 对 APK 签名
3.1 打开命令行窗口
点击Terminal,或使用快捷键Alt+F12打开命令行窗口。
3.2 生成数字证书
在命令行窗口中输入以下指令。
keytool -genkeypair -alias testkey02 -keyalg RSA -validity 365 -keystore testkey02.jks
-genkeypair:指定生成数字证书。
-alias:指定数字证书的别名。
-keyalg:指定数字证书的算法。
-validity:指定数字证书的有效期限,以天为单位。
-keystore:指定数字证书的存储路径。
以交互式方式输入相关信息。
3.3 生成未签名的APK安装包
在菜单栏中找到Build,选择Build Bundle(s) / APK(s)。
选择Build APK(s)。
完成后可在项目的app/build/outputs/apk/debug路径下找到app-debug.apk文件。
3.4 对安装包进行签名
由于需要使用到apksigner.bat命令,所以需要先将Android SDK的build-tools目录添加到PATH环境变量中。
完成后在命令行窗口中输入以下指令。
apksigner sign --ks testkey02.jks --ks-key-alias testkey02 --out Map_testkey02.jks app-debug.apk
sign:指定使用apksigner命令执行签名。
–ks:指定数字证书的存储路径。
–ks-key-alias:指定数字证书的别名。
–out:指定签名后的APK文件的文件名。
最后一个参数代表未签名的APK文件。
在这里我出现了系统找不到指定的文件的错误。
于是我把指令中 –out 之后的 Map_testkey02.jks 和 app-debug.apk 替换为了相应文件的绝对路径。
再次执行指令,完成后会在项目的app/build/outputs/apk/debug路径下生成Map_testkey02.apk和Map_testkey02.apk.idsig文件。
以上是关于使用 Android 签名 APK的主要内容,如果未能解决你的问题,请参考以下文章
eclipse将android项目生成apk并且给apk签名