问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

两种方式签名 APK

创作时间:
作者:
@小白创作中心

两种方式签名 APK

引用
CSDN
1.
https://blog.csdn.net/Menamovic/article/details/121869956

Android应用签名是确保应用完整性和确定发布者身份的重要步骤。本文将介绍两种常见的签名方式:使用Android Studio菜单选项进行签名和使用命令行进行签名。

签名的作用

  • 确定发布者的身份:应用开发者可以通过使用相同包名来替换已经安装的程序,而使用签名可避免该情况发生。
  • 确保应用的完整性:签名会对应用包中的每个文件进行处理,以确保文件不被替换。

1. 使用Android Studio菜单选项进行签名

1.1 选择发布方式

在菜单栏中找到Build,选择Generate Signed Bundle/APK…菜单项。

  • Android App Bundle方式发布的App更小、安装更快,但仅支持Google Play。
  • 选择APK方式,单击Next按钮。

1.2 创建数字证书

若系统中还没有数字证书,则单击Create new…按钮。

填写相关信息,单击OK按钮。

注意两处密码和确认密码要相同,否则会出错。单击Next按钮。

1.3 保存安装包

选择安装包的存储路径,以及生成的版本,单击Finish按钮。

2. 使用命令行进行签名

2.1 打开命令行窗口

点击Terminal,或使用快捷键Alt+F12打开命令行窗口。

2.2 生成数字证书

在命令行窗口中输入以下指令。

keytool -genkeypair -alias testkey02 -keyalg RSA -validity 365 -keystore testkey02.jks
  • -genkeypair:指定生成数字证书。
  • -alias:指定数字证书的别名。
  • -keyalg:指定数字证书的算法。
  • -validity:指定数字证书的有效期限,以天为单位。
  • -keystore:指定数字证书的存储路径。

以交互式方式输入相关信息。

2.3 生成未签名的APK安装包

在菜单栏中找到Build,选择Build Bundle(s) / APK(s)。

选择Build APK(s)。完成后可在项目的app/build/outputs/apk/debug路径下找到app-debug.apk文件。

2.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文件。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号