Skip to content

Instantly share code, notes, and snippets.

@AvatarQing
Last active December 27, 2015 01:19
Show Gist options
  • Save AvatarQing/7244107 to your computer and use it in GitHub Desktop.
Save AvatarQing/7244107 to your computer and use it in GitHub Desktop.
Android使用Internal和hide的API流程
使用Internal和hide的API流程
1. 定好目标api,比如api16(4.1.2)
2. 创建api16的模拟器,运行
3. 运行后通过eclipse的DDMS的文件管理器将system/framework/整个目录扒下来,假设保存到e盘
4. 去http://code.google.com/p/smali/downloads/list下载baksmali-2.0.jar和smali-2.0.jar,用来反编译odex文件为jar文件
5. 把baksmali-2.0.jar和smali-2.0.jar放在e盘根目录,将刚才扒下来的framework目录里的framework.jar和framework.odex剪切到e盘根目录。
6. 打开cmd,进入e盘,运行java -jar baksmali-2.0.jar -x framework.odex -d framework,会生成一个out文件夹。
7. 生成完成后再运行java -jar smali-2.0.jar out/ -o classes.dex生成dex文件
8. 再用dex2jar将dex文件转换为jar文件
9. 将改jar文件后缀名改为zip,解压到framework文件夹。
10. 到sdk目录的platform的android-16文件的android.jar,后缀名改为zip,解压到android目录。
11. 将framework目录所有文件复制到android目录下,覆盖同名文件。
12. 然后压缩android文件为zip文件,然后把后缀名再改为jar。
13. 创建一个新的平台,我们需要拷贝android-16文件夹 -> android-16-internals。将刚刚压缩的android.jar替换原来的, 修改build.prop文件:
ro.build.version.sdk=16 -> ro.build.version.sdk=-16
ro.build.version.release=4.1.2-> ro.build.version.release=4.1.2.extended
重启Eclipse。并确认你能看到新的平台。
参考
android apk反编译和odex转dex
来自 <http://blog.csdn.net/cqupt_chen/article/details/8373300>
android怎样调用@hide和internal API
来自 <http://blog.csdn.net/hudan2714/article/details/7853908>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment