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:太多人活的不像自己。思想是别人的意见,生活是别人的模仿,情感是别人的引述
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。