xirihanlin 2011.06.07
原文路徑:https://devmaze.wordpress.com/2011/01/19/using-com-android-internal-part-5-summary-and-example/
為了能夠使用Internal和Hidden API,你需要:
1. 建立自訂的original-android.jar,包含所有的.class檔案
2. 建立自訂的Android平台來使用original-android.jar
3. 修改ADT外掛程式,允許使用com.android.internal包(只為Internal API)
4. 建立新的工程,引用自訂的Android平台(本文中的例子)
在本文中,我將向你們展示如何使用那些Internal和Hidden API。
此外,在本文的結尾,我列出了一些自訂的Android平台,它們都包含Internal和Hidden API。我附帶了它們,是為了可能你不想花太多時間在這方面,但又想快速的嘗試什麼。
例子
建立一個新工程,選擇2.3.extender平台:
下面是代碼:
這個代碼使用了Internal API(PowerProfile)和Hidden API(isWifiApEnabled)。我不用使用反射就能編譯並運行這些代碼。
自訂平台
下面有些平台,是我為自己建立的。只用拷貝它們到SDK_DIR\platforms檔案夾下。這隻是讓Hidden API可用。對於Internal API,你需要修改你的ADT外掛程式。
API 3:http://www.megaupload.com/?d=S1F2MKYZ
API 4:http://www.megaupload.com/?d=VUCTRI3Y
API 7:http://www.megaupload.com/?d=7ITNILBK
API 8:http://www.megaupload.com/?d=EXT5FKKT
API 9:http://www.megaupload.com/?d=EXT5FKKT
API 10:http://www.megaupload.com/?d=FCV78A9M
==============華麗的分割線=============
我嘗試了其中的幾個自訂平台,發現,internal 和hidden API真的是可用了,但也有一些意外的問題,如AlertDialog.Builder(Context context)居然說Context參數是多餘的。。
沒花時間去研究為什麼會這樣,如果哪位童鞋知道原因,告訴我哈~~