Android 使用系统级别的文件生成系统签名

Android 使用系统级别的文件生成系统签名,让你的app变成系统级别的apk,只使用于Android的设备,如果是发布在应用市场的app可以忽略

就在刚才项目想的一个设备是第三方采购的,项目做完了,打不出apk包,然后找厂家问了一下,厂家给了一个方案,接着就不好使;没办法只能寻找第二种方案了.

第一步在清单文件中加入:

android:sharedUserId="android.uid.system"     

在那加呢?

在这里插入图片描述

现在看明白了吧

这里列举2个方案可以任意尝试:

前提条件你需要有这俩个文件(很重要看3遍):

platform.pk8 和 platform.x509.pem

如果你没有,你可以找相对应的给你提供;也可以在这个目录下找一下:

在build\target\product\security可以找到

方案1:

这里还需要一个jar包

signapk.jar

**

windows的

**

使用Android studio 生成一个debug的apk,然后找到你的debug的apk的位置和platform.pk8 和 platform.x509.pem以及jar包放在一个目录下,在当前目录下打开你的cmd,执行下面的命令

java -jar signapk.jar platform.x509.pem platform.pk8 <你debug的apk的名字> <要生成apk的名字>

mac的
需要在终端服务中找到服务偏好设置设置

在这里插入图片描述
在目录里打开终端 执行命令

java -jar signapk.jar platform.x509.pem platform.pk8 <你debug的apk的名字> <要生成apk的名字>

方案2:

window和Mac和上面的一样操作步骤这里就不说了

这里也需要在同一个目录下执行

  1. pem文件
    Mac的这里要特别注意这里会生成一个platform.pem文件,如果你执行命令后没有看到这个文件,在platform.pem这个前面加上你的绝对路径
openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform.pem -nocrypt 
  1. 生成pkcs12

别名是什么 我理解就是打包时候的keyAlias

Mac的这里要特别注意这里会生成一个platform.pk12文件,如果你执行命令后没有看到这个文件,在platform.pk12这个前面加上你的绝对路径

 openssl pkcs12 -export -in platform.x509.pem -inkey platform.pem -out platform.pk12 -name <这里是别名>

随后会要求输入密码:
Enter Export Password: (输入密码android,默认是android,如是自己制作的key,输入对应的密码)
Verifying - Enter Export Password:(验证密码android)

3.生成jks文件
Mac的这里要特别注意这里会生成一个签名文件,如果你执行命令后没有看到签名文件,在签名文件前面加上你的绝对路径

keytool -importkeystore -deststorepass <你上一步输入的密码> -destkeypass <你上一步输入的密码> -destkeystore <签名文件的名字> -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass <你上一步输入的密码> -alias <这里是别名>

好了 这个时候就会有签名文件了

配置

接下来就是在Android studio 里面配置了

把你生成出来的签名文件放到项目下面
在这里插入图片描述

在build中配置:

这个配置在Android{}下
 signingConfigs {
        名称 {
            storeFile file('..\\你签名文件名字')       //我的就是mydebug.jks
            storePassword '你设置的密码'
            keyPassword '你设置的密码'
            keyAlias = '你设置的别名'
        }
    }

配置编译和打包

buildTypes {
        release {
           ........
            signingConfig signingConfigs.你上面叫的名称
        }
        debug {
            signingConfig signingConfigs.你上面叫的名称
        }
    }

接下来大功告成,完美

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值