我尝试访问隐藏的 API vom Android 5.1(API 级别 22),如本文所述 https://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-2-hacking-around/
我的问题是来自模拟器和我的 Nexus 7 的framework.jar 文件只有 309 字节大,并且不包含classes.dex 文件。
从哪里可以获得这个framework.jar或者可能是一个已经修改过的API级别21或22的android.jar?
更新1:我直接用adb而不是DDMS又尝试了一次,结果相同
platform-tools$ ./adb pull /system/framework/framework.jar
214 KB/s (309 bytes in 0.001s)
更新 2:我能够从 4.4.2 模拟器获取一个包含classes.dex 文件的framework.jar 文件。我将保留这个问题,因为我需要当前版本。
最佳答案
来自类似的问题:
For Lollipop the flow is little different:
- Get /system/framework/arm/boot.oat from lollipop device
- Use 'java -jar oat2dex.jar boot boot.oat'
- You will got 2 folders: dex and odex. Go to dex and make 'java -jar dex2jar.jar framework.dex'
- Rename resulting framework.jar to .zip, extract and find classes you need
- Go to [sdk_path]/platforms/[target_platform] and extract android.jar (first rename it to zip).
- Copy files from extracted framework to extracted android.jar. Then compress to zip and rename to .jar :)
如果您使用模拟器,请使用“/system/framework/x86/boot.oat”
关于java - 访问Android 5.1隐藏API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29879814/