Android 8.1系统签名详解

在工作中我们经常会提供接口给客户调用,我们就需要提供jar给客户调用,客户那边使用就都需要系统的签名才能正常运行。而如果我们想用Android Studio单独开发某个应用而使用系统签名的时候,有两种开发的方式,一种是编译完成后,使用SignApk.jar来进行签名,另外一种是把系统的pemplatform.pk8和platform.x509转换成为Android Studio常用的 .keystore文件,编译时候自动签名。
Android系统签名证书的目录是“build/target/product/security”。
在这里插入图片描述一、SignApk.jar签名
1、工具下载地址:链接:https://pan.baidu.com/s/1cLQFMFyRzCuTxP99QiEG0A 提取码:ck2g
在这里插入图片描述2、拿到终端上系统的签名(由定制系统的厂商提供):
在这里插入图片描述3、在应用程序的项目中配置:
androidManifest.xml中添加android:sharedUserId=“android.uid.system”

<manifest  xmlns:android="http://schemas.android.com/apk/res/android"
            package="com.xxxx.xxxx"
           android:sharedUserId="android.uid.system">

</manifest>

4、将(机器)系统的签名放到signapk同一个目录中
在这里插入图片描述5、AndroidStudio通过build–> 生成带有签名的apk,将程序apk放到signapk同一个目录中:
在这里插入图片描述在这里插入图片描述在这里插入图片描述6、在signapk所在文件夹中运行命令行:
为应用程序配置系统的签名:
解释: 第一个xxx.apk是项目打包后的apk, 第二个xx.apk被系统签名后的apk。

work\tools\signapk>java -jar signapk.jar  platform.x509.pem platform.pk8 app-release.apk app-releasetest.apk

结果提示:

Usage: signapk publickey.x509[.pem] privatekey.pk8 input.jar output.jar

再次调整未被系统签名的apk的路径,将apk拖动放到命令行中,重新输入:

work\tools\signapk>java -jar signapk.jar  platform.x509.pem platform.pk8 G:\wangqi\work\tools\signapk\app-release.apk app-release-test.apk

7、 最终效果如下:
被系统签名后的apk如下:
在这里插入图片描述
二、转换为 .keystore文件

keytool-importkeypair下载地址:https://github.com/getfatday/keytool-importkeypair
1、蒋keytool-importkeypair下载下来的文件拷贝到Linux中,然后再拷贝platform.pk8 和 platform.x509.pem文件到keytool-importkeypair目录下面
在这里插入图片描述
2、使用如下命令来执行:

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

在这里插入图片描述
3、修改 build.gradle 再次编译即可

 signingConfigs {
        release {
            storeFile file('keystore/platform.keystore')
            keyAlias 'platform'
            keyPassword 'android'
            storePassword 'android'
        }
        debug {
            storeFile file('keystore/platform.keystore')
            keyAlias 'platform'
            keyPassword 'android'
            storePassword 'android'
        }
    }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值