Android使⽤AndroidStudio+Gradle或命令⾏进⾏apk签名打包默认为debug mode,使⽤的签名⽂件在: $HOME/.android/debug.keystore
⽐如 C:\Users\chengcj1\.android\debug.keystore
1.利⽤Gradle命令⾏进⾏签名
a. Release Mode 签名:
signingConfigs 即签名配置。配置名releaseConfig{ //配置内容 }
在buildTypes中指定release时的signingConfigs对应的配置名
b. 执⾏gradle 命令, $ gradlew assembleRelease
编译并发布。在build/outputs/apk/ 下能看到未签名的apk 和已经签名的apk
如果未⽤签名⽂件,使⽤debug mode的debug签名。那就会⽣成⼀个debug签名的apk
c. 签名密码写在gradle中不安全:
这样在命令执⾏命令时,就会被要求输⼊密码
2. 使⽤Android Studio 签名打包
菜单 Build > Generate Signed APK
3. 使⽤Android Studio ⾃动签名打包
a. 打开Project Structure,打开⽅法如下:
b. 选中需要构建的moudle,打开Signing,添加config
执⾏完成后,会在adle中⾃动加上 signingConfigs{ config {...} }的信息  c. 打开Build Types -> release
在signing Config中选择定义的配置
zip align enabled 默认为true,⽤于启⽤优化Apk的操作
d. $ gradle build
会在build/outputs/apk/ ⽬录下输出在build types中定义的编译类型。如:    myapplication-debug-unaligned.apk
myapplication-debug.apk
myapplication-release-unaligned.apk
myapplication-release-unsigned.apk
myapplication-release.apk
4. 使⽤Android SDK 和 JDK 的命令签名打包APK
创建签名
keytool -genkey -v -keystore stone.keystore -alias stone -keyalg RSA -keysize 2048-validity 10000  ⽣成签名⽂件
为apk签名
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore stone.keystore unsigned.apk stone 不⽣成新⽂件检测apk是否签名
jarsigner  -verbose -certs -verify signed.apkandroid获取真正的签名
优化apk
zipalign -f -v 4 signed_unaligned.apk signed_aligned.apk

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。