Android Studio签名配置方法
在开发过程中,有时候在第三方集成时候,会遇到测试环境无法调试或调用失败的情况。例如第三方的分享和登录,需要软件签名之后才能成功调用第三方的接口。但是调试过程中频繁打包签名很麻烦,效率也很低。那么有什么方法,可以不用打包去签名呢?方法当然是有的,下面就介绍几种签名的方法。
1. 签名配置
方法一:
通过项目配置界面配置签名
1)点击 File —— Project Structure... 进入项目配置界面;
项目配置图
2)选择 app —— Singing —— Add 添加签名相关信息;
配置项目签名图
3)选择 Build Types —— Singing Config 创建签名配置,点击 OK
创建签名配置图
方法二:
通过 build.gradle 文件配置签名
1)在项目app目录下的build.gradle里配置签名信息
android {
signingConfigs {
debug {
keyAlias 'key'
keyPassword '123456'
storeFile file('E:/key/keys.jks')
storePassword '123456'
}
release {
keyAlias 'key'
keyPassword '123456'
storeFile file('E:/key/keys.jks')
storePassword '123456'
}
}
buildTypes {
debug {
debuggable true
zipAlignEnabled true
debuggable true
minifyEnabled false //是否混淆
shrinkResources false //是否去除无效的资源文件
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
if (keyfile.exists()) {
signingConfig signingConfigs.debug
}
}
release {
zipAlignEnabled true
debuggable false
minifyEnabled true //是否混淆
shrinkResources true //是否去除无效的资源文件
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
if (keyfile.exists()) {
signingConfig signingConfigs.release
}
}
}
...
}
方法三:
通过 local.properties 和 build.gradle 文件配置签名
项目下的local.properties主要存储环境资源的相关信息。默认是被忽略的,不会添加到版本控制里面,对于里面的配置信息会相对安全不会泄露。
1)在项目根目录下local.properties里自定义配置
# sdk、ndk路径
ndk.dir=E\:\\SDK\\ndk-bundle
sdk.dir=E\:\\SDK
# 签名文件
key.file=E\:\\key\\keys.jks
keyPassword=123456
keyAlias=key
storePassword=123456
2)在项目app目录下的build.gradle里读取local.properties字段信息
android {
//加载资源
Properties properties = new Properties()
InputStream inputStream = project.rootProject.file('local.properties').newDataInputStream()
properties.load(inputStream)
//读取文件
def sdkDir = properties.getProperty('key.file')
//读取字段
def keyfile =file(sdkDir)
def key_keyAlias = properties.getProperty('keyAlias')
def key_keyPassword = properties.getProperty('keyPassword')
def key_storePassword = properties.getProperty('storePassword')
signingConfigs {
release {
storeFile keyfile
storePassword key_storePassword
keyAlias key_keyAlias
keyPassword key_keyPassword
}
debug{
storeFile keyfile
storePassword key_storePassword
keyAlias key_keyAlias
keyPassword key_keyPassword
}
}
buildTypes {
debug {
debuggable true
zipAlignEnabled true
debuggable true
minifyEnabled false //是否混淆
shrinkResources false //是否去除无效的资源文件
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
if (keyfile.exists()) {
signingConfig signingConfigs.debug
}
}
release {
zipAlignEnabled true
debuggable false
minifyEnabled true //是否混淆
shrinkResources true //是否去除无效的资源文件
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
if (keyfile.exists()) {
signingConfig signingConfigs.release
}
}
}
...
}
2. 签名查看
方法一:(适用于 AS)
1)打开 AS工具窗口栏右边的 Gradle —— Project —— app —— Tasks —— android —— signingReport,双击运行 signingReport
Gradle窗口图
2)signingReport 运行完后,就可以看到签名的相关信息
image.png
方法二:(适用于 ES 和 AS)
1)在系统命令面板(win + R —— cmd)或者 AS底端工具类里的 Terminal 中输入:
keytool -v -list -keystore 签名文件路径
2)输入密钥库口令(输入口令时隐藏不展示输入内容),点击回车键;
输入命令图
3)密钥口令校验正确后,就可以看到签名的相关信息
签名信息图