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

缺点:复杂

所需文件

  • 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

所需文件:

  • platform.pk8 & platform.x509.pem

  • keytool-importkeypair

生成签名文件需要在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就直接是系统签名

Android System App相关推荐

  1. [转] Android开发之如何保证Service不被杀掉(broadcast+system/app)

    转发:原文链接http://blog.csdn.net/mad1989/article/details/22492519 序言 最近项目要实现这样一个效果:运行后,要有一个service始终保持在后台 ...

  2. Android开发之如何保证Service不被杀掉(broadcast+system/app)

    Android开发之如何保证Service不被杀掉(broadcast+system/app) 序言 最近项目要实现这样一个效果:运行后,要有一个service始终保持在后台运行,不管用户作出什么操作 ...

  3. 【Android 逆向】Android 系统文件分析 ( /system/ 系统命令和系统应用数据目录 | /system/app/ 系统应用目录 | sys Linux 系统内核文件目录 )

    文章目录 一.system 系统命令和系统应用数据目录 1./system/app/ 系统应用目录 2./system/framework/ 框架目录 3./system/font/ 字体目录 二.s ...

  4. android提权system,Android push app to /system/app/

    背景 个人想要了解一下关于系统权限方面的知识,而我又天真地以为只要把app push到/system/app/目录下,app就有系统签名了,也就能获取到系统权限了.但是其实这样是不行的...算了,学一 ...

  5. android 开机自动启动应用,以及如何放置系统应用(system/app)中

    AndroidManifest.xml中配置receiver,如下:<receiverandroid:name=".MyBroadcastReceiver"android:e ...

  6. android手机几个目录的介绍:/system/app; /system/vender;/data/app;/data/dalvik-cache;/mnt/asec;/mnt/secure

    看到很多android用户搞不清楚自己手机里这些目录到底是干什么的,索性就一一解释清楚,当然也会涉及到系统软件和用户自己的软件的区分,以及app2sd(软件搬家:从内存搬到SD卡)方面的知识 /sys ...

  7. com.sec.android.app.keyguard,android - 查找/ system / app的APK名称 - 堆栈内存溢出

    如何找到/ system / app的APK名称? 因为某些apk名称不在" pm list package -f"中,所以它们都是系统应用程序,我只需要知道APK名称,例如下面的 ...

  8. android第三方app改为系统app,加入system组,获取system权限

    用Androd studio 开发的app,编译出apk, 想获取system权限. 环境:编译好的apk, android 源码环境,有root权限和源码对应的开发板,我这里是user版本. 思路: ...

  9. android 挂载system 读写,android使用mount挂载/system/app为读写权限,删除或替换系统应用...

    注意:以下代码中#开头的则为需要执行的shell命令,其他的为打印的结果.#代表需要使用ROOT权限(su)执行,所以想要修改您android手机某个目录挂载为读写,首先需要有ROOT权限! 先要得到 ...

最新文章

  1. SpringSecurity csrf验证忽略某些请求
  2. 64 os 驱动签名
  3. POJ 1932 XYZZY (差分约束+传递闭包)
  4. 使用计算机终端情况,朗威V1.0计算机终端保密检查系统
  5. 电子文档秒变手写文字:这个工具绝了!!
  6. 使用puppeteer实现PDF文件合成
  7. python银行卡号识别_EAST+CRNN银行卡号识别,附数据集
  8. 全民居家都带不动的AI健身,到底是不是伪命题?
  9. 相对简单的服务器安装MySQL方法(2021年5月9日)
  10. oracle min(date),Oracle / PLSQL MIN函数
  11. Norms for Vectors and Matrices
  12. Origin双坐标轴图表
  13. Gluster安装+kubesphere3.0
  14. 怎么做才可以把电脑上的照片给做成视频?-markdown编辑器
  15. Oracle 11g win32位 window7下安装教程 (其实64位类同)
  16. K邻近算法(K-NN)
  17. 无线列表html,无线web 开发经验(2)—— HTML
  18. C语言入门 -- 计算两骰子之和出现概率(2021/2/2)
  19. 2022-2028全球机器人底盘行业调研及趋势分析报告
  20. java偶数的表达式_十六进制数大于10的正则表达式,在Java中长度应为偶数。

热门文章

  1. Jupyter登录密码问题
  2. Harmony OS应用开发PagerSliderIndicator的使用
  3. matlab的有限元编程练习 4nodes
  4. jq get(0) 问题
  5. jQuery中的$是什么意思
  6. android 预置 app,AOSP 预置 APP
  7. 建设经验|智慧水务管控平台-智慧供水综合运营平台
  8. 《中学语文》期刊简介及投稿要求
  9. GO 命令行参数 os.Args
  10. 下载 | 《javascript速查表中文版》