1. 對於Jeallybean 4.2.2 來說, 許可權列表的位置
./frameworks/base/core/res/AndroidManifest.xml
編譯apk時,./out目錄下, 有的會根據apk的AndroidManifest.xml裁剪上述xml產生Manifest.java檔案。目前正跟蹤./build中與Manifest.java相關的規則, 很有趣。
2. 加入以下許可權, Eclipse打包會產生問題, 好像要BSP簽名打包到/system/app/目錄下才行
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.SET_DEBUG_APP" />
<uses-permission android:name="android.permission.DIAGNOSTIC" />
安裝, 報告許可權錯誤
Not granting permission android.permission.READ_LOGS to package com.compal.tp.logs (protectionLevel=50 flags=0x8be44)
Not granting permission android.permission.SET_DEBUG_APP to package com.compal.tp.logs (protectionLevel=50 flags=0x8be44)
Not granting permission android.permission.DIAGNOSTIC to package com.compal.tp.logs (protectionLevel=2 flags=0x8be44)
3. 比較kernel的代碼, android-goldfish-3.4加了些東東
struct logger_reader {
...
bool r_all; /* reader can read all entries */
int r_ver; /* reader ABI version */
};
然後,在open函數中,有如下的代碼
reader->r_all = in_egroup_p(inode->i_gid) ||
capable(CAP_SYSLOG);
最後一扇大門關上了, 不過, 還不夠徹底。如果以Runtime.getRuntime.exec的方式, 還是可以得到一些關鍵的資訊。