Android系統開發 編譯系統簽名的APP


前言

  一般情況下,我們使用的簽名都是自己生成的Java簽名來編譯APP. 但是,如果需要開發一些特定設備的APP(對權限有更高的要求,需求一些系統基本的權限,比如讓APP可以控制設備的休眠),那就需要編譯系統簽名的APP.

  首先你還要明白,APP系統簽名的文件必需是你當前設備的系統簽名文件一致,這種簽名文件只有你自己是Android系統開發才能獲取到(Rom是你自己打包的).

 

准備工作

 

打包系統簽名

生成keystore文件

  • 將keytool-importkeypair、platform.pk8和platform.x509.pem文件放在同一個目錄下,執行如下命令,會生成platform.keystore文件:
sh keytool-importkeypair -k ./platform.keystore -p android -pk8 platform.pk8 -cert platform.x509.pem -alias platform
  • -p 表示新生成的keystore的密碼是什么,這里為android
  • -pk8 表示要導入的pk8文件的名稱,可以包括路徑,pk8文件用來保存private key的,是個私鑰文件。
  • -cert 表示要導入的證書文件,和pk8文件在同一個目錄,pem這種文件就是一個X.509的數字證書,里面有用戶的公鑰等信息,是用來解密的,這種文 件格式里面不僅可以存儲數字證書,還能存各種key。(有興趣的可以點擊此了解一下
  • -alias 表示給生成的platform.keystore取一個別名,這個名字只有我們在簽名的時候才用的到,這里我們生成的文件名是platform。這個名字,可以隨便取,但是你自己一定要記住。

AndroidManifest.xml修改

AndroidManifest.xml中添加共享系統進程屬性,如下(三選一):

android:sharedUserId="android.uid.system"
android:sharedUserId="android.uid.shared"
android:sharedUserId="android.media"

在manifest節點中添加

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

打包APP

  最后就是按照正常流程打包app了.在菜單欄選擇 Build > Generate Signed Bundler or Apk > 點擊進入菜單后選擇APK > 然后選擇你生成的簽名文件,輸入密碼即可.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM