Android 系统开发生成签名供 Android Studio 使用


1.  key 的目录问题

(1) 普通正常路径就是这个,  如果有定制, 就需要到定制目录下

build/target/product/security

定制的目录一般会在 


(2) build/target/product/security/xxx/xxx

配置的路径一般在 编译文件 xx.mk 中,   

PRODUCT_DEFAULT_DEV_CERTIFICATE := \
    -----------------------------------------  

 

2. 执行生成签名文件 (一定要确定好签名的路径)

(1) 借助工具keytool-importkeypair  生成文件

https://github.com/chear/keytool-importkeypair


./keytool-importkeypair -k test.jks -p password 123456 -pk8 platform.pk8 -cert platform.x509.pem -alias test

最终会生成 test.jks

-k test.jks: test表示最终生成的jks的名字,可以自定义
password 123456: 123456输入当前jks的密码,可以自定义。
alias test: test表示别名,可以自定义,建议和上面的jks一致。



(2)

1、编译android源码。


2、cd build/target/product/security/ 


3、执行 openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pem

生成platform.pem文件


4、执行 openssl pkcs12 -export -in platform.x509.pem -out platform.p12 -inkey platform.pem -password pass:123456 -name test

生成platform.p12文件,其中 "test" 为alias名(app添加签名要用到),"123456" 为密码。


5、执行 keytool -importkeystore -deststorepass test -destkeystore platform.jks -srckeystore platform.p12 -srcstoretype PKCS12 -srcstorepass test

生成platform.jks (app打签名最终用到的文件),

-deststorepass "123456" 设置的是这个签名的密码,
-src*     的其他参数都是从前面两个指令中生成的。


6、生成platform.jks

 

3. 应用到Android Studio

在src统计目录创建storefile文件夹,然后将test.jks放进去。

在build.gradle里面创建如下配置:

signingConfigs {
        testkey {
            keyAlias'test'
            keyPassword '123456'
            storeFile file('keyfile/test.jks')
            storePassword '123456'
        }
    }

buildTypes {
        debug {
            signingConfig signingConfigs.testkey
        }
        release {
            signingConfig signingConfigs.testkey

    }

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空白的泡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值