java - 替换/重建Android源中的framework.jar

标签 java android dalvik android-source smali

这可能是一个相当疯狂的问题,但我想在花所有时间尝试之前先了解一下它。

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

我计划这样做+从 Cyanogen mod 中获取类似的文件作为构建的引用。我对做这一切感兴趣的原因是因为我有一部手机或多或少需要重建 radio 接口(interface)层,而直接编辑 smali 和调试它变得太麻烦了。

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

我问这个问题的主要原因是将 MIUI 移植到我的手机上。我认为更令人头疼的事情是重写 java 并重建一个工作的 Framework.jar(其中包含 CM7 或 AOSP 源代码中没有的部分),而不是编辑 MIUI 附带的 Framework.jar 以使其正常工作。

最佳答案

虽然有多种方法可以将 dex 文件反编译回 java,但没有一种方法可以生成完全可编译的 java。您必须花费大量的精力从反编译器中清理Java代码,才能对其进行编译。对于这么大的事情来说,这几乎不是一个选择。

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

关于java - 替换/重建Android源中的framework.jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7693036/

相关文章:

java - 以动态和编程方式添加定义的 TextInputLayout

android - 从服务器下载图像到 ImageView 时显示进度

java - 开发GUI程序

java - ojdbc14.jar 出现 UnsatisifiedLinkError

java - 将图像上传到 Firebase 存储

java - 使用NDK获取Object的指向内存地址

android - 引用一个 jar 或用 Dalvik 编译它?

java.lang.ClassNotFoundException : con. mysql.jdbc.Driver 1

java - "The following artifacts could not be resolved": Maven/Android/Eclipse

android - 如何使用 IDA Pro 调试 apk 中的 *.so?