第一步、打开 Android Studio 的 Terminal 工具。
第二步、输入命令:keytool -v -list -keystore (keystore文件路径)。
第三步、输入 Keystore 密码
方法二 (用于调试版的keystore)
第一步、打开 Android Studio右侧面板的gradle,找到当前项目名(第一个)
第二步、点开,Tasks-->android-->signingReport,点击即可
方法三 (两者都可)
第一步、打开cmd(ctrl+r)
第二步、(调试版)控制台窗口中输入 cd .android 定位到 .android 文件夹。
(发布版)直接在控制台输入命令
第三步、输入命令 (调试版)keytool -list -v -keystore debug.keystore
无密码,直接回车即可
(发布版)keytool -list -v -keystore (keystore文件路径)
输入 Keystore 密码,回车
1、解压得到RSA文件
APK以zip文件方式打开,在\META-INF\目录中存在一个.RSA后缀的文件,一般名为CERT.RSA
2、使用keytool命令获取证书信息(包括MD5)
运行如下keytool命令即可:
keytool -printcert -file CERT.RSA
正常使用AS生成签名文件后,有这样提示,按照提示修格式,例如
keytool -importkeystore -srckeystore /Users/anbeibei/Desktop/uvpd -destkeystore /Users/anbeibei/Desktop/uvpd.jks -deststoretype pkcs12
然后使用新生成的签名文件即可
或者直接使用命令行来生成签名文件,不用AS生成再修改格式,例如
keytool -genkey -alias testalias -keypass 123456 -keyalg RSA -keysize 2048 -validity 36500 -keystore /Users/anbeibei/Desktop/test.keystore -storepass 123456
// 签名配置
signingConfigs{
debug{
storeFile file("test.jks")
storePassword"test12345"
keyAlias"test"
keyPassword"test12345"
}
release{
storeFile file("test.jks")
storePassword"test12345"
keyAlias"test"
keyPassword"test12345"
}
}
buildTypes{
release{
minifyEnabledfalse
proguardFiles getDefaultProguardFile('proguard-android-optimiz.txt'),'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug{
signingConfig signingConfigs.debug
}
}
附 配置使用Android studio的terminal
签名文件.keystore 和 .jks
各种数字证书区别
有时候,我们开发的apk需要用到系统权限,需要在AndroidManifest.xml中添加共享系统进程属性:
这时候apk的签名就需要是系统签名(platform、shared或media)才能正常使用。
常用系统签名方式
这种方式比较麻烦,你需要有编译过的源码环境,并按如下步骤:
1、拷贝App源码到Android源码的packages/apps/目录下,且App源码是普通(Eclipse)格式的
2、配置Android.mk,在其中添加
3、使用mm编译App,生成的apk即系统签名
这种方式比在源码环境下签名简单,App可以在Eclipse或Android Studio下编译,然后给apk重新签名即可。
但这种方式在频繁调试的时候比较痛苦,即使写成脚本,也需要重复一样的 *** 作。
相关文件
platform.x509.pem、platform.pk8、signapk.jar
文件位置
platform.x509.pem、platform.pk8:
signapk.jar:
signapk源码路径:
签名命令
步骤
1、将相关文件及源apk文件置于同一路径下
2、检查源apk包,去掉META-INF/CERT.SF 和 META-INF/CERT.RSA 文件
3、执行签名命令即可
让Android Studio集成系统签名,需要用到一个工具 keytool-importkeypair ,详见下文。
这个工具的作用是将系统签名的相关信息导入到已有的签名文件里。
工具的使用方法可以通过–help或README.textile来寻求帮助
platform.x509.pem、platform.pk8、keytool-importkeypair、demo.jks、signature.sh
我的做法是在App根目录新建Signature文件夹专门存放签名相关文件。
步骤
1、生成demo.jks签名文件
2、编写签名脚本signature.sh,内容如下:
为脚本文件添加可执行权限:
执行脚本:
3、配置builde.gradle
在android区域下(与defaultConfig同级)添加配置:
这样debug或release apk就带有系统签名了。
如果想直接Run app就是release版且带系统签名的apk,还需修改:
这样直接Run app就是带系统签名的release版apk了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)