您的位置:首页 > 移动开发 > Android开发

android-studio 签名文件使用

2016-08-24 09:56 225 查看
在项目中接触到了android-studio的系统文件签名,未免自己忘记了,就来占坑,这部分在今后应用发布时也需要管理。

让Android
Studio集成系统签名,需要用到一个工具keytool-importkeypair,详见下文。

keytool-importkeypair

keytool-importkeypair – A shell script to import key/certificate pairs into an
existing Java keystore

这个工具的作用是将系统签名的相关信息导入到已有的签名文件里。

工具的使用方法可以通过–help或README.textile来寻求帮助,或参考使用keytool工具 这篇文章。

相关文件platform.x509.pem、platform.pk8、keytool-importkeypair、demo.jks、signature.sh我的做法是在App根目录新建Signature文件夹专门存放签名相关文件。

步骤1、生成demo.jks签名文件





2、编写签名脚本signature.sh,内容如下:
#!/bin/sh

# 转换系统签名命令
./keytool-importkeypair -k demo.jks -p 123456 -pk8 platform.pk8 -cert platform.x509.pem -alias demo

# demo.jks : 签名文件
# 123456 : 签名文件密码
# platform.pk8、platform.x509.pem : 系统签名文件
# demo : 签名文件别名


为脚本文件添加可执行权限:
$ sudo chmod a+x signature.sh


执行脚本:
$ ./signature.sh


./signature.sh执行脚本动作一定要执行,执行后会提示是否存在.jks签名文件,默认为[no],如果像前述一样新建demo,则可以输入yes。执行成功系统会提示

Import command completed: 1 entries successfully improted, 0 entries failed or cancelled.

3、配置builde.gradle

在android区域下(与defaultConfig同级)添加配置:
signingConfigs {
release {
storeFile file("./signature/demo.jks")
storePassword '123456'
keyAlias 'demo'
keyPassword '123456'
}

debug {
storeFile file("./signature/demo.jks")
storePassword '123456'
keyAlias 'demo'
keyPassword '123456'
}
}

上述stroreFile file选项也可以从android-studio中的Projest Struture选中Signing选项下的Store File选项,选择默认签名文件存放位置。

这样debug或release apk就带有系统签名了。

如果想直接
Run app
就是release版且带系统签名的apk,还需修改:

1) 变体app



2) 修改
buildTypes

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
signingConfig signingConfigs.release
}
}


这样直接
Run app
就是带系统签名的release版apk了。

以上部分内容转载http://blog.csdn.net/zhixuan322145/article/details/51277921,感谢CSDN网友的帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐