Android System App

本文详细介绍了两种Android应用系统签名的方法:已有的系统签名和直接生成系统签名文件。对于已有的签名,文章讲解了所需文件、步骤以及安装到设备的过程。对于直接生成签名文件,重点介绍了在Linux环境下如何操作,并能在Android Studio中直接使用。同时,文中还提到了系统签名后处理SO库的步骤,以及安装系统应用所需的设备root权限。
摘要由CSDN通过智能技术生成

方式一:已有包,二次系统签名

缺点:复杂

所需文件

  • app release .apk
  • platform.pk8 & platform.x509.pem 进入官网地址后选择你运行的对应版本 ,在后面加上路径:xref/build/target/product/进行下载
  • signapk.jar 下载官网地址同上 目录路径 : /xref/prebuilts/sdk/tools/

进行系统签名

java -jar signapk.jar platform.x509.pem platform.pk8 app-release.apk app_release_system_signed.apk

app打包配置

AndroidManifest.xml中的manifest标签下加入

android:sharedUserId="android.uid.system"

如:

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

需要注意的是 加了这个标签不进行系统签名装不上

安装到设备

设备需要root !!!

执行以下命令:

adb remount
adb push xxx.apk /system/app

然后重启设备

adb reboot

复制so库

如果项目中有so的情况下,系统签名完之后就会发现,得到的包比原包小很多。 没有的话直接跳过这一步。

原因就是系统签名不会拷贝so到新的apk中。需要自己手动push

运行app,如果闪退报错System.loadLibiary找不到某个so,再用adb push 命令把原包中的so库对应目录整体拷贝到报错中对应的路径。然后再启动app即可

方式二:直接生成系统签名文件签名

优点:灵活、可以用于Android studio直接debug或者release

所需文件:

生成签名文件需要在linux下执行

首先将 keytool-importkeypair 添加到path

vim ~/.bash_profile

在最后添加

export PATH=/keytool-importkeypair所在的路径:$PATH

刷新配置

source ~/.bash_profile

执行命令

./keytool-importkeypair -k ./你的密钥文件名.keystore -p 密钥密码 -pk8 platform.pk8 -cert platform.x509.pem -alias 密钥别名

./keytool-importkeypair -k ./mykeyfile.keystore -p 123456 -pk8 platform.pk8 -cert platform.x509.pem -alias mykey

然后就会在当前目录生成mykeyfile.keystore文件

再as中配置使用这个文件签名打包app就直接是系统签名

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值