我今天在android源代码中做了一些实验。
让我说完整的事情,我从android源编译framework.jar并对其进行反编译并生成smali源并将其放在一边。然后从 CyanogenMod 存储库中,我向 android 源代码添加了一个功能的提交,并一次又一次地编译了 framework.jar 反编译的 smali 源代码,以查看 smali 方面的变化,以便我可以将它们移植到我的 ROM 中。
我要移植的功能需要导入某些类,例如 import dalvik.system.VMRuntime 和额外编码以使用这些导入的类。所以现在我的问题是,我只能看到额外的编码,即在 smali 代码中使用这些类,但看不到那些导入。因此,当我仅移植 smali 代码时,我在 logcat 中得到 java.lang.NoSuchMethodError,这表明它无法找到该方法。原因很清楚,因为没有导入必要的类,那么如何在 smali 代码中做到这一点?我认为在 smali 中没有办法做到这一点,因此新引入的方法不起作用。
有什么可行的解决方案吗?