在 android 中编辑 framework.jar

Editing framework.jar in android

我正在尝试修改 framework.jar。我的目的是修改此 jar 中 SQLiteDatabase.java 的内容。我在谷歌上搜索了很多,发现方法是编辑 .smali 文件并重新打包并将更新的 jar 推送到系统。但是 .smali 的源代码似乎很难编辑(因为它是汇编代码),所以我想知道是否有任何其他解决方法可以避免这种情况,而是编辑 Java 源代码,然后将其推送到设备.非常感谢您的帮助,谢谢。

一种可能的混合方法是下载尽可能接近您设备上使用的 AOSP 版本,在 AOSP 源代码中进行您想要的更改 SQLiteDatabase.java,然后构建一个 framework.jar 来自 AOSP,用 baksmali 反汇编它,然后将 SQLiteDatabase.smali 从 AOSP 构建复制到您的 device-specific framework.jar.

还有一个问题您应该注意 - 如果您的设备是 pre-odexed/pre-oated,那么您需要对整个框架和所有 pre-odexed/pre-oated 应用程序进行 deodex,因为修改 framework.jar 将使任何现有的 oat/odex 文件无效。