将应用改为系统应用 - zLulus/My_Note GitHub Wiki

Android 将自己的应用改为系统应用
2 Ways to Convert User App to System App on Android
上面的文章介绍了具体的多种方法

下面是简单描述

方法1

先root,再用LINK2SD修改(交互式界面)

方法2

RE管理器/ES文件管理器手动操作
注意system/app文件夹是根目录的system/app,不是/storage/emulated/0/....里面那个

参考资料

将 Xamarin.Android 安装为系统应用
视频
how to change third party apps to system app on android phone

方法3

使用adb
adb将Apk内置到系统中(system/priv-app)
在手机上运行adb命令
Read command output inside su process

常用工具

Terminal Emulator for Android
Root工具箱 (Root Essentials)
Mount system rw
Supersu
Magisk+Magisk Manager

方法4

1.在AndroidManifest.xml文件中,加入android:sharedUserId=”android.uid.system”这个属性

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.jant.addview"
          android:sharedUserId="android.uid.system" >
    <application
       ...(省略若干代码)
    </application>

</manifest>

关于签名的详细说明:Android签名总结
2.使用自己的签名文件,生成apk
在VS中发布即可
3. 使用通用签名来重新给apk文件签名
准备好platform.pk8、platform.x509.pem和签名工具signapk.jar,还有自己的apk,放在同一个文件夹下
(这里使用android自带的签名文件)
(1)java环境安装与配置
Windows 10 配置Java 环境变量
Windows配置Java环境变量(下载、安装、配置环境)
完成配置后重启计算机
(2)platform.pk8、platform.x509.pem
platform.pk8、platform.x509.pem下载地址 点击[tgz]下载
(3)签名工具signapk.jar
在cmd下进入到该文件夹后,使用如下命令:

java -jar signapk.jar platform.x509.pem platform.pk8 your.app.apk new.apk
//或者
java -jar signapk.jar testkey.x509.pem testkey.pk8 your.app.apk new.apk

参考资料

对 Android 应用程序包进行签名 对 APK 进行手动签名
Android应用程序签名系统的签名(SignApk.jar)
How to Sign Android APK and Android Flashable ZIP file
对要发布的版本进行签名

其他打包流程

java -jar signapk.jar platform.x509.pem platform.pk8 unsigned.apk signed.apk
zipalign -f -v 4 signed.apk aligned.apk
adb install -rg aligned.apk

参考资料

How to debug a platform signed system app using Xamarin Android
zipalign下载

⚠️ **GitHub.com Fallback** ⚠️