Android應用程序的權限機制(2)

發表于:2011-06-24來源:未知作者:娃娃點擊數: 標簽:
應用程序安裝的時候,應用程序請求的permissions通過package installer來批準獲取。package installer通過檢查該應用程序的簽名來確定是否給予該程序索取的權限。

  

  

  

 

  應用程序安裝的時候,應用程序請求的permissions通過package installer來批準獲取。package installer通過檢查該應用程序的簽名來確定是否給予該程序索取的權限。在用戶使用過程中不會檢查權限,也就是說要么在安裝時就批準該權限,使其按照設計可以使用該權限;要么就不批準,這樣用戶也就根本無法使用該feature,也不會有任何提示告知用戶嘗試失敗。當應用試圖在沒有權限的情況下做受限操作,應用將被系統殺掉以警示。

  例如,使用有system級別權限設定的api時,需要apk擁有system權限。比如在 android 的API中有SystemClock.setCurrentTimeMillis()函數來修改系統時間。有兩個方法:

   第一個方法簡單點,不過需要在Android系統源碼的情況下用make來編譯:

  1. 在應用程序的AndroidManifest.xml中的manifest節點插入android:sharedUserId="android.uid.system"這個屬性。

  2. 修改Android.mk文件,插入LOCAL_CERTIFICATE := platform

  3. 使用mm命令來編譯,生成的apk就有修改系統時間的職權范圍了。

   第2個方法:

  1. 同上,插入android:sharedUserId="android.uid.system"這個屬性。

  2. 使用eclipse編譯出apk文件,但是這個apk文件是不能用的。

  3. 使用系統的platform密碼鑰匙來給apk文件重新簽名。signapk platform.x509.pem platform.pk8 input.apk output.apk 

 

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97