Android debug签名和release签名

Android debug签名和release签名

一:Android debug签名
在开发工具下使用debug模式下生成的APK,使用的是开发工具默认的debug签名文件
1.方式一:
Android debug签名和release签名_第1张图片
通过build APK生成app-debug.apk
Android debug签名和release签名_第2张图片
2.方式二:
Android debug签名和release签名_第3张图片
Android debug签名和release签名_第4张图片

通过gradle构建工具生成apk,assemble可以生成debug和release包,assembleDebug可以生成debug APK,assembleRelease生成release APK,从上面可以看出,我这个没有assembleDebug,assembleRelease,如果每一次都执行assemble生成debug和release包很耗时间
解决方式:
Android debug签名和release签名_第5张图片
Android debug签名和release签名_第6张图片
Android debug签名和release签名_第7张图片
3.我们编译生成debug APK包,需要用到签名文件,Android studio 自带的签名文件
Android debug签名和release签名_第8张图片
4.获取deug 签名MD5值和SHA1值
我们有时候需要获取签名下的MD5值和SHA1值
通过jdk 下的keytool.exe
Android debug签名和release签名_第9张图片

第一种方法:在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
Android debug签名和release签名_第10张图片
Android debug签名和release签名_第11张图片
但是我这没有拿到MD5值和SHA1值,网上有人说是JDK的问题,我是JDK1.8具体没有尝试
第二种方法:通过Gradle,可以拿到MD5值,SHA1值,SHA256值
Android debug签名和release签名_第12张图片
Android debug签名和release签名_第13张图片
5.修改keystore的密码和alias
keytool.exe -storepasswd -keystore C:\Users\Administrator.android\debug.keystore//修改密码
image.png
keytool.exe -changealias -keystore C:\Users\Administrator.android\debug.keystore -alias wowo -destalias androiddebugkey
//这一步 wowo是证书当前的alias , -destalias 指定的要修改的为alias,这里按规矩来,改为androiddebugkey!这个命令会先后提示输入keystore的密码和当前alias的密码。
二:Android relase签名
1.第一种方式:生成签名的正式包
Android debug签名和release签名_第14张图片
Android debug签名和release签名_第15张图片
创建一个新的jks文件
Android debug签名和release签名_第16张图片
Android debug签名和release签名_第17张图片
签名文件生成正式版本的apk包
Android debug签名和release签名_第18张图片
第二种方式:使用gradle assembleRelease 生成未被签名的正式包
Android debug签名和release签名_第19张图片
Android debug签名和release签名_第20张图片
Android 应用的签名工具有两种:jarsignersignAPK。它们的签名算法没什么区别,主要是签名使用的文件不同
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 debug签名和release签名_第21张图片
三:Android studio 调试模式(debug)下使用正式签名的方法
在日常开发中,我们经常会用到一些第三方开发平台比如微信或者支付宝,通常这些平台都会要求提供应用的签名。作为密钥,而在开发工具的debug模式下,生成的apk使用的是开发工具默认的签名
Android debug签名和release签名_第22张图片
Android debug签名和release签名_第23张图片
我们编译打包生成debug包的话,BUILD_TYPE=debug,DEBUG=true
Android debug签名和release签名_第24张图片
接下来会走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 代表可以image.pngdebug调试

END:太多人活的不像自己。思想是别人的意见,生活是别人的模仿,情感是别人的引述

你可能感兴趣的:(javaandroid)