我下载了Android SDK的源代码并修改了类android.widget.TextView。
现在,我正在尝试弄清楚如何用修改后的 TextView 替换我的设备上运行的实际 TextView。
我发现编译的类位于我手机上的/system/framework中。
有关如何替换适当的 jar 和 odex 文件的任何指示吗?
注意:我还在谷歌小组中读到,修改 Android 的位和 block 是行不通的,我们需要构建整个源代码。
最佳答案
I also read in google groups that modifying bits-n-pieces of android will not work, we need to build entire source code.
如果您只想更改几行,则无需重建整个系统。基本上,您需要可以使用 adb
、apktool
或 smali
提取(和推送!!)文件的手机,具体取决于您的用途计划更改、资源或代码。
如果是资源(本地化、翻译):
从手机中提取framework-res.jar,使用
apktool ifframework-res.jar
将其设为默认框架以供将来操作。 每次使用新手机或新版本的 Android 时,都必须拉取并导入框架。拉取您要更改的文件。
使用
apktool d
反编译该文件。进行所需的更改。
使用
apktool b
编译新文件。压缩并签名。
将新文件推送到手机。
如果您想更改代码,请使用 framework.jar
而不是 framework-res.jar
和 smali/backsmali
进行编译/.dex
文件的反编译。
此外,最好对要更改的文件进行备份,以防出现问题。
关于android - 修改 android.jar 类并在 Android 设备中替换它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10591924/