keytool-importkeypair 小结

由于需要用到系统权限,外置SD卡不能将文件保存在非/android/com.XXXX下,故需要使用到系统权限,

如下属性 可以不用加 我反正没加  也没什么事,在AndroidManifest.xml文件中有如下属性

android:sharedUserId="android.uid.system"

在android studio中编译出来apk就是安装不上,报如下错误

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

看来是要系统的签名, 但是 由于客户lib库使用了自己扩展android SDK版本,没法放在我们的源码里面编译; 后来google了下,发现可以让android studio支持系统签名,这就用到了keytool-importkeypair ,

github地址 

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

使用起来也比较的简单,找到系统的 platform.pk8 和 platform.x509.pem 放在 keytool-importkeypair目录下执行:

./keytool-importkeypair -k ./platform.keystore -p android -pk8 platform.pk8 -cert platform.x509.pem -alias platform

platform.pk8和platform.x509.pem都是系统的签名

如上所示:android 是你自己工程的keypassword    alias后的platform是你自己工程的 

最好与你之前的密钥保持一致

 

修改 build.gradle 再次编译即可

signingConfigs {

    releaseConfig {

        keyAlias 'platform'

        keyPassword 'android'

        storeFile file('/home/gyniu/tools/keystore/platform.keystore')

        storePassword 'android'

    }

}


如上使用 这样就可以使用系统的权限 将文件放到外置SD卡上的任意目录下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值