Android生成和內置一個系統App

內置一個App到系統目錄
生成系統應用和配置

1.Android系統簽名,兩種方式

  • 對Apk重新簽名
    libconscrypt_openjdk_jni.dylib 是signapk.jar執行需要的動態庫,是編譯安卓源碼生成的 mac環境在Android/aosp/out/host/darwin-x86/lib64/目錄下,重新簽名需要用到。

platform.x509.pem 和 platform.pk8 爲rom的證書,祕鑰等信息,如果不一致會安裝不了。

使用signapk.jar和系統簽名信息重新簽名apk:

java -Djava.library.path=. -jar signapk.jar keys/platform.x509.pem keys/platform.pk8 xxx.apk xxx.apk
  • 生成一個新的系統簽名
    下載工具keytool-importkeypair
    然後把keytool-importkeypair工具,platform.x509.pem, platform.pk8放在同一文件夾下:
    如果之前不存在xxx.jks,執行:
keytool-importkeypair -k ./xxx.jks -p android -pk8 platform.pk8 -cert platform.x509.pem -alias platform

他會生成一個xxx.jks的新簽名 密碼爲android 別名爲platform
如果之前有了簽名xxx.jks,執行:

keytool-importkeypair -k ./xxx.jks -p xxx.jks的密碼 -pk8 platform.pk8 -cert platform.x509.pem -alias xxx

他會導入並覆蓋之前簽名的pk8和x509,-alias別名最好和之前的保持一致他會提示:存在現有條目別名 xxx, 是否覆蓋? [否]: 輸入 是
提示導入成功
兩種方式區別不大但是完全重新生成的那種不會有之前的信息的干擾更純淨一些建議使用重新生成的方式。
可以通過以下命令查看簽名信息:

keytool -v -list -keystore xxx.jks

2.需要在AndroidManifest文件manifest標籤下添加

android:sharedUserId="android.uid.system"
將系統APP放到系統目錄下
adb shell

重新掛在系統文件夾

mount -o rw,remount /system

把普通的安裝好的apk文件夾移動到系統文件夾下(mv cp命令查看 常用命令 標題結尾處的鏈接)

mv  /data/app/com.xxx.xxx-c_6g96hdmjaMzppiPTIPyg\=\=/*  /system/priv-app/XXXAPP

或者

cp -r /data/app/com.xxx.xxx-c_6g96hdmjaMzppiPTIPyg\=\=/*  /system/priv-app/XXXAPP

重啓

adb reboot

應用移動至系統目錄下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章