使用内部(com.android.internal)和隐藏(@hide)API手记
2012-05-12 13:04:44 来源:WEB开发网核心提示: 内部API和隐藏API的不同 隐藏API隐藏是为了防止开发人员使用SDK中未完成或者未稳定(接口和架构方面看)的部分,比如,使用内部(com.android.internal)和隐藏(@hide)API手记,Bluetooth API在API Level 5(android 2.0)之前就存在,但在API Leve
内部API和隐藏API的不同
隐藏API隐藏是为了防止开发人员使用SDK中未完成或者未稳定(接口和架构方面看)的部分。比如,Bluetooth API在API Level 5(android 2.0)之前就存在,但在API Level 3和4(android 1.5和1.6)中使用@hide隐藏起来了。当该API稳定下来,google的开发人员移除@hide属性,在API Level 5中就有Bluetooth API了。还有很多东西在Level 4和5之间发生了变化。如果程序依赖于某些隐藏API,可能会在新版本的Android OS上运行出现问题。
下面总结它们之间的不同:隐藏API = 正在开发中;内部API = 黑盒
1)配置SDK路径
1.1)Ubuntu:
Ctrl+Alt+T打开终端
gedit ~/.bashrc
export SDK_HOME=<SDK路径>
export PATH=$PATH:$SDK_HOME/platform-tools:$SDK_HOME/tools
source ~/.bashrc
1.2)Windows:
我的电脑->右键属性->高级->环境变量
选择系统变量新建:SDK_HOME=<SDK路径>
选择系统变量Path编辑:%SDK_HOME%\platform-tools;%SDK_HOME%\tools;<原Path>
不一定要配置,只是为了方便启动某些工具==
以下是在Windows XP下操作的~
2)AVD Manager创建模拟器并启动
以下以2.3.3平台为例了~
3)从模拟器获取framework.jar
adb pull /system/framework/framework.jar C:\
4)解压framework.jar获取classes.dex
5)dex2jar反编译得到原classes
dex2jar下载:http://code.google.com/p/dex2jar/downloads/list
classes.dex放到<dex2jar目录>内或指定绝对路径,例如为C:\classes.dex时:
进入<dex2jar目录>
dex2jar C:\classes.dex
得到classes_dex2jar.jar。
6)创建SDK定制平台
进入<SDK路径>\platforms,复制一份对应平台。2.3.3为API-10,所以如下:
更多精彩
赞助商链接