1. 程式人生 > >android 獲取 system許可權

android 獲取 system許可權

這幾天主要研究了關於android 下system許可權是如何獲取的的問題

因為我們如果想要讀取訪問/data/目錄 或者是/data/data/com.android.settings下的設定來訪問系統的設定,如時間的設定功能的話我們必須提供system許可權才能進入

在網上查閱到這類的資料已經很多了,現在簡單總結概括以下關於利用android.sharedUserId="android.uid.system"來獲取android 下system許可權的方法.

首先在Android原始碼目錄中找到(位置 是"build\target\product\security"),下面的platform.pk8和platform.x509.pem兩個檔案,將其拷貝出來,例如我這裡在D盤下建立一個資料夾"sign",將platform.x509.pem    platform.pk8和signapk.jar檔案放到這個資料夾(signapk.jar檔案

點此下載,下載後將字尾名改為jar)

1、在你的工程中的AndroidManifest檔案下的manifest標籤下新增android:sharedUserId="android.uid.system"

2、在你的工程中的bin目錄下拷貝build好的apk檔案到我們剛剛建立的sign資料夾,然後用Winrar檔案開啟apk檔案,進入META-INF目錄下,刪除CERT.SF和CERT.RSA這兩個檔案,然後在DOS下用cd命令進入sign目錄且輸入命令

  1. java -jar signapk.jar platform.x509.pem platform.pk8 old.apk new.apk  

其中old.apk為你原來的apk檔案,即刪除了CERT.RSA和CERT.SF這兩個檔案的apk檔案,new.apk為執行這條命令後你想要生成的apk的名稱

3、現在你的new.apk應用程式已經獲得了system許可權,將新生成的new.apk安裝到模擬器,可以訪問/data/目錄了

總結:在獲取到system許可權後,能訪問/data/目錄下的內容,但是卻不能訪問sdcard.

原文:http://blog.csdn.net/kudy21/article/details/6763584