共计 2372 个字符,预计需要花费 6 分钟才能阅读完成。
Android debug 签名和 release 签名
一:Android debug 签名
在开发工具下应用 debug 模式下生成的 APK, 应用的是开发工具默认的 debug 签名文件
1. 形式一:
通过 build APK 生成 app-debug.apk
2. 形式二:
通过 gradle 构建工具生成 apk,assemble 能够生成 debug 和 release 包,assembleDebug 能够生成 debug APK,assembleRelease 生成 release APK,从下面能够看出,我这个没有 assembleDebug,assembleRelease,如果每一次都执行 assemble 生成 debug 和 release 包很耗时间
解决形式:
3. 咱们编译生成 debug APK 包,须要用到签名文件,Android studio 自带的签名文件
4. 获取 deug 签名 MD5 值和 SHA1 值
咱们有时候须要获取签名下的 MD5 值和 SHA1 值
通过 jdk 下的 keytool.exe
第一种办法:在 Terminal 中通过输出:keytool.exe -list -keystore C:\Users\Administrator.android\debug.keystore,在 cmd 中也是 keytool.exe -list -keystore C:\Users\Administrator.android\debug.keystore,但要留神配置 java 的 jdk 门路,不然会呈现外部文件,须要 cd E:\Java\jdk1.8.0_271\bin 到该目录下
前面是 keystore 的地址
密钥:默认是 android
然而我这没有拿到 MD5 值和 SHA1 值,网上有人说是 JDK 的问题,我是 JDK1.8 具体没有尝试
第二种办法:通过 Gradle, 能够拿到 MD5 值,SHA1 值,SHA256 值
5. 批改 keystore 的明码和 alias
keytool.exe -storepasswd -keystore C:\Users\Administrator.android\debug.keystore// 批改明码
keytool.exe -changealias -keystore C:\Users\Administrator.android\debug.keystore -alias wowo -destalias androiddebugkey
// 这一步 wowo 是证书以后的 alias , -destalias 指定的要批改的为 alias, 这里按规矩来,改为 androiddebugkey!这个命令会先后提醒输出 keystore 的明码和以后 alias 的明码。
二:Android relase 签名
1. 第一种形式: 生成签名的正式包
创立一个新的 jks 文件
签名文件生成正式版本的 apk 包
第二种形式:应用 gradle assembleRelease 生成未被签名的正式包
Android 利用的签名工具有两种:jarsigner
和 signAPK
。它们的签名算法没什么区别,次要是签名应用的文件不同
1.jarsigner:jdk 自带的签名工具,能够对 jar 进行签名。应用 keystore 文件进行签名。生成的签名文件默认应用 keystore 的别名命名。
2.signAPK:Android sdk 提供的专门用于 Android 利用的签名工具。应用 pk8、x509.pem 文件进行签名。其中 pk8 是私钥文件,x509.pem 是含有公钥的文件。生成的签名文件对立应用“CERT”命名。
咱们有时候须要查看签名文件的 MD5 值和 SHA1 值,须要咱们查看
keytool.exe -list -keystore F:\soudaoProject\MyGitignore\rocky_ruan.jks
输出设置的明码
我这种没有看到 MD5 值,是和 jdk 无关
三:Android studio 调试模式(debug)下应用正式签名的办法
在日常开发中,咱们常常会用到一些第三方开发平台比方微信或者支付宝,通常这些平台都会要求提供利用的签名。作为密钥,而在开发工具的 debug 模式下,生成的 apk 应用的是开发工具默认的签名
咱们编译打包生成 debug 包的话,BUILD_TYPE=debug,DEBUG=true
接下来会走 buildType 的 debug 类型,如果须要微信登录和下须要正式签名包的话,能够 signingConfig signingConfigs.release 设置成正式签名
buildTypes {
/* 正式版本 */
release {
minifyEnabled false// 代码混同
/* 代码混同规定 */
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
debuggable false // 这个构建类型是否应该生成可调式的 apk
signingConfig signingConfigs.release // 设置默认调用上方咱们刚配置的 signingConfigs.release
}
/* 测试版本 */
debug{
minifyEnabled false// 代码混同
/* 代码混同规定 */
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
debuggable true // 这个构建类型是否应该生成可调式的 apk
signingConfig signingConfigs.release // 设置默认调用上方咱们刚配置的 signingConfigs.release
}
}
debuggale 为 true 代表能够debug 调试
END: 太多人活的不像本人。思维是他人的意见,生存是他人的模拟,情感是他人的引述