java - 访问Android 5.1隐藏API

标签 java android android-5.0-lollipop

我尝试访问隐藏的 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:

  1. Get /system/framework/arm/boot.oat from lollipop device
  2. Use 'java -jar oat2dex.jar boot boot.oat'
  3. You will got 2 folders: dex and odex. Go to dex and make 'java -jar dex2jar.jar framework.dex'
  4. Rename resulting framework.jar to .zip, extract and find classes you need
  5. Go to [sdk_path]/platforms/[target_platform] and extract android.jar (first rename it to zip).
  6. Copy files from extracted framework to extracted android.jar. Then compress to zip and rename to .jar :)

See here

如果您使用模拟器,请使用“/system/framework/x86/boot.oat”

关于java - 访问Android 5.1隐藏API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29879814/

相关文章:

java - 以编程方式打开和关闭 Spring Boot Rest 的 Tomcat

java - 如何在 Java 中使用 JFileChooser 保存文件?

安卓弹出菜单

android - 使用 stackFromEnd = true 将项目加载到 RecyclerView 中不会滚动到底部

java - 对于如何从 if 语句中提取值感到非常困惑

java - Eclipse Activiti 中的 BPMN 错误

android - 无法解析 Push : (? 的所有参数,?)

Android 与 Picasso 共享元素

android - Material Design 中的 ActionBar 弹出窗口

android - 动态设置和删除 TRANSLUCENT 状态栏标志