2

我下载了Android SDK的源代码并修改了android.widget.TextView类。

现在,我想弄清楚如何用修改后的设备替换在我的设备上运行的实际 TextView。

我发现编译的类位于我手机上的 /system/framework 中。

关于如何替换适当的 jar 和 odex 文件的任何指示?

注意:我还在 google 群组中读到,修改 android 的 bits-n-pieces 是行不通的,我们需要构建整个源代码。

4

1 回答 1

5

我还在 google 群组中读到,修改 android 的 bit-n-pieces 是行不通的,我们需要构建整个源代码。

如果您只想在这里和那里更改几行,则不必重建整个系统。基本上,您需要手机,您可以在其中使用adb、 和apktool或拉取(和推送!!)文件smali,具体取决于您计划更改的资源或代码。

如果是资源(本地化、翻译):

  1. 从手机中提取 framework-res.jar,用于apktool if framework-res.jar将其设置为您未来操作的默认框架。每次使用新手机或新版本的 Android 时,您都必须拉取和导入框架。

  2. 拉出要更改的文件。

  3. 用于apktool d反编译文件。

  4. 进行所需的更改。

  5. 用于apktool b编译新文件。

  6. 拉链并签名。

  7. 将新文件推送到手机。

如果您想更改代码,请使用framework.jar而不是framework-res.jarsmali/backsmali来编译/反编译.dex文件。

此外,最好为您将要更改的文件制作备份副本,以防万一出现问题。

于 2012-05-15T00:23:34.293 回答