使用内部(com.android.internal)和隐藏(@hide)API[第4部分,定制ADT]
本文翻譯自http://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-4-customizing-adt/
在前面的文章中,我講述了如何創建定制的original-android.jar和創建定制的android平臺以使用original-android.jar。這僅僅能夠使用隱藏API,還為內部API留有一個障礙: ADT。ADT定義了一個規則禁止使用來自com.android.internal的類。
?
有幾種方法可以越過該限制規則:
1)完整的ADT源代碼可以下載,可以移除或者修改代碼,編譯然后安裝新的定制版本ADT。不好的地方是您必須配置一臺64位linux系統,下載源碼,編譯之。這會花費一些時間,當新版本的ADT出來后,您又需要重新來過。
2)另外一種方式是修改ADT的字節碼,只需替換"com/android/inter/**”字符串為其它的字符串,比如"com/android/internax”。
第二種方法可通過腳本自動化完成,也不需要訪問源碼,在windows下也能工作,這也是我在本文中說明第二種方式的原因。
修改ADT字節碼
進入到您的eclipse的plugins文件夾,找出名為com.android.ide.eclipse.adt_*.jar的文件。做一個備份(以防修改錯了),另外復制一份改文件到一個單獨的"experimental”文件夾,在那里進行字節碼修改。
修改*.jar為*.zip,解壓文件到一個單獨的文件夾,下面就是我所得到的:
現在進入到com/android/ide/eclipse/adt/internal/project子目錄,找出AndroidClasspathContainerInitializer.class文件。
該文件包含了字符串"com/android/internal/**”,下一步就是替換該字符串為其它的字符串,如"com/android/internax/**”。改變字符串的長度可能沒什么問題,但最好只替換一個字母,保持長度相同。
我是用notepad++進行替換的,因為它支持非打印字符,而且在編輯打印字符時不會修改非打印字符。
修改完后,保存文件,zip壓縮文件夾,文件名和原始版本一樣。以我的為例:com.android.ide.eclipse.adt_8.0.1.v201012062107-82219.zip,然后重命名為*.jar。
注意:請確保您正確的壓縮了文件,可以比較一下修改的zip和原始的zip的內部目錄結構。
現在刪除eclipse plugins文件夾下的原始ADT*.jar文件,復制經過修改的版本,重啟eclipse。
如果沒有問題,則會如下圖所示:
步驟總結:
?
原文:http://mogoweb.net/archives/117
轉載于:https://www.cnblogs.com/veins/p/3716763.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的使用内部(com.android.internal)和隐藏(@hide)API[第4部分,定制ADT]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 存放键,值
- 下一篇: 模拟真实环境之内网漫游