android之使用signapk打包成系統應用,獲取系統權限

        有的時候在應用程序中需要獲取一些特殊權限,比如寫該系統時間,或者關機程序,這是後除了獲取root權限方法之外,還可以使用在menifest.xml文件中添加android:sharedUserId="android.uid.system"到根節點中將自己的應用程序打包成系統應用以達到目的。


但是添加android:sharedUserId="android.uid.system"編譯成功後的apk是不能安裝的 ,這是因爲系統應用使用了統一的簽名,而我們的簽名和系統應用的簽名不一樣,所以接下來的事情就是怎麼將自己的應用簽名改成系統的應用簽名了(尷尬的是現在國內大多數系統都是定製過得,系統應用簽名無法獲取,所以該方法僅限於android原生系統)


1、使用目標系統的platform密鑰來重新給apk文件簽名。

首先在我的Android源碼目錄中的位置是"build        argetproductsecurity",下面的platform.pk8和platform.x509.pem兩個文件。

然後使用系統提供的簽名工具signapk.jar,使用步驟是將自己的apk還有上述三個文件放入一個文件夾如圖:


2、然後用壓縮軟件打開自己的apk文件,刪掉META-INF目錄下的CERT.SF和CERT.RSA兩個文件。


3、然後在cmd下進入到改文件夾下我的是e:/to/SignApk使用如下命令:


回車後我們的文件夾下已經多了一個new.apk文件了,這就將我們的應用打包成系統應用瞭如圖:

下面是資源問價signapk.jar  platfrom.pk8   platform.x509.pem 的下載鏈接:

下載鏈接




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