使用Android系統隱藏api 讀取*.apk 程序安裝包信息[轉]

前提:我們需要得到Android系統源碼編譯輸出的一個文件
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar
這個包裏面包含所有的系統api, 隱藏的, 公開的
添加 jar方法
右鍵功能菜單->Properties->Java Build Path
Libraries選項卡
這時應該有一個列表,  如果你沒有添加過, 應該只有一項, 就是系統自帶的Android SDK,  選中後,右手邊有一個刪除, 先刪除系統添加的sdk.
點Add Library -> User Library
選擇User Library 按鈕, 新建一個User Library 將剛纔那個文件 classes.jar 和系統本身的文件都導入進來, 調整下順序,  將 classes.jar 調到前面
這樣添加了之後, 就可以使用系統隱藏的api了

使用隱藏api, 有個前提:
許多api涉及到系統權限問題, 比如 後臺安裝文件 api PackageManager.installPackage 要求有安裝程序的權限, 而這個安裝程序權限不是隨便有的, 只有經ROM簽名認證的纔可以使用這個權限. 雖然說可以在配置文件裏面添加這個權限, 但是悲劇的是你仍然不能擁有這個權限, 在這點上, Google做的真絕..

好了, 雖然我們不能安裝, 但用api去查看apk總該可以了吧?
Google沒有公開這個Api,  但又了上面這個方法, 我們可以使用了

                           

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