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:太多人活的不像本人。思维是他人的意见,生存是他人的模拟,情感是他人的引述