【问题标题】:Replacing/Rebuilding framework.jar in Android Source在 Android 源代码中替换/重建 framework.jar
【发布时间】:2011-10-07 21:28:27
【问题描述】:

这可能是一个相当疯狂的问题,但我想先了解一下,然后再花时间尝试它。

是否可以重新构建 framework.jar(比如从 MIUI 中提取 framework.jar),将其反编译为 smali,然后从头开始重新构建(通过阅读并将其自己重新制作成 java)?

我计划这样做 + 将 Cyanogen mod 中的类似文件作为构建的参考。我有兴趣做这一切的原因是因为我有一部手机或多或少需要重新构建无线电接口层,而直接编辑和调试 smali 变得太麻烦了。

我想我会在这里问,因为人们不会那么快地判断这是否可能。如果您正确添加所有内容(理论上)并在源代码中重建 classes.dex 文件,我不明白为什么它不起作用。

我问的主要原因是为了将 MIUI 移植到我的手机上。我认为,与编辑 MIUI 随附的 framework.jar 以使其正常工作相比,重写 java 并重建工作的 framework.jar(其中有部分不在 CM7 或 AOSP 源中的部分)是更令人头疼的问题。

【问题讨论】:

    标签: java android dalvik android-source smali


    【解决方案1】:

    虽然有多种方法可以将 dex 文件反编译回 java,但它们都不会产生完全可编译的 java。您将不得不花费 的精力从反编译器中清理 Java 代码,以使其能够编译。对于这么大的东西,这几乎不是一个选择。

    最好的办法是让 AOSP 或 CM 之类的东西在您的手机上运行,​​这样您就可以直接自己构建框架,并进行任何您需要的修改。

    【讨论】:

    • CM7 已经用于我的手机(非官方)。我正在努力将 MIUI 移植到它,它恰好在 framework.jar 中有一些不在 CM7 中的库和修改。我想我可以反转 MIUI 并将其添加到 CM7 上的框架相关包中并重建它以适用于 MIUI。
    • 嘿。这正是为什么我不关心不发布其源代码的自定义 rom :)。我假设您已经对 MIUI 和 CM 之间的框架进行了比较?您也许可以对与您要移植的特定功能或其他内容相关的文件进行反编译
    • 啊,是的,我确实这样做了,只是想尝试用它来解决变化。我感谢您的快速回复,并且我已经在#smali 的 freenode 上的 IRC 上看到过,所以我很高兴您注意到我的问题并花时间回复。谢谢!
    猜你喜欢
    • 2016-04-20
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    • 2016-01-09
    • 2015-12-02
    • 2021-09-09
    • 1970-01-01
    相关资源
    最近更新 更多