安卓签名文件.keystore 和 .jks

安卓签名文件.keystore 和 .jks,第1张

    方法一(通常用于发布版的keystore)

      第一步、打开 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了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8120191.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存