Android studio 中查询release和debug版本的SHA1和MD5
程序员文章站
2022-03-09 18:08:44
...
一,引言
我们在使用一些第三方的SDK的时候,往往需要用到SHA1值。如百度地图SDK。
平时我们直接用Android Studio build APK或者直接run 时,会在工程目录下的../build\outputs\apk下产生APK文件。 这里能够使用的是debug版本的apk。
如果我们想要release版本的APK如何生成呢?
二,生成release版本的APK
首先,选择Android Studio菜单build ,选择Generate Signed Apk,再选择你想要编译的工程后。出现如图所示
如果你还没有jks文件,直接点击Create New创建一个,如果有了可以直接选择。点击Next
点击finish就可以直接在工程目录下生成release版本的apk了。
这时候我们release和debug版本的APK都可以生成了。 可是我们想要他们的SHA1和MD5值怎么办呢?
三,获取release版本和debug版本的SHA1、MD5
1.首先在工程目录下建立一个config文件夹
2.找到C:\Users\XXXX\.android\debug.keystore 文件,复制后丢到config文件夹里。
3.找到你前面新建立好的xxxx.jks文件,复制后也丢在config文件夹里。
4.在config文件夹中,新建一个signing.properties文件。在文件中写入
STORE_FILE=../config/XXXX.jks
STORE_PASSWORD=xxxx
KEY_ALIAS=xxxx
KEY_PASSWORD=xxxx
这些参数就是上面第一张图上的那些参数。然后保存。
5.进入到Android Studio,刷新工程。你就可以看到config在你的工程里了。
6.在项目工程build.gradle中android下加入如下代码。
android{
..................
signingConfigs {
debug {
storeFile file("../config/debug.keystore")
}
release {
storeFile file("meifusigned.jks")
}
}
buildTypes {
release {
minifyEnabled false
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
File propFile = file('../config/signing.properties');
if (propFile.exists()) {
def Properties props = new Properties()
props.load(new FileInputStream(propFile))
if (props.containsKey('STORE_FILE') && props.containsKey('STORE_PASSWORD') &&
props.containsKey('KEY_ALIAS') && props.containsKey('KEY_PASSWORD')) {
android.signingConfigs.release.storeFile = file(props['STORE_FILE'])
android.signingConfigs.release.storePassword = props['STORE_PASSWORD']
android.signingConfigs.release.keyAlias = props['KEY_ALIAS']
android.signingConfigs.release.keyPassword = props['KEY_PASSWORD']
} else {
android.buildTypes.release.signingConfig = null
}
} else {
android.buildTypes.release.signingConfig = null
}
}
7.build下工程。然后点击AS右上角的Gradle
找到你想要查看的工程下,如图的signingReport,双击.
8.运行后就可以看到具体效果。点击左上角圈起来的部分,就可以查看到debug版本和release版本的SHA1和MD5了。