1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 分享在Linux下编译Android源代码并修改调试系统自带应用的方法

分享在Linux下编译Android源代码并修改调试系统自带应用的方法

时间:2022-02-02 15:50:18

相关推荐

分享在Linux下编译Android源代码并修改调试系统自带应用的方法

具体如何repo获取源码网上到处都是教程,我就不说了.严格按官方的教程来是没问题的.

另外提醒一点,repo的时候用参数 "-j 数字" 可以使用多线程下载.

需要注意的一点的还有很多教程还在说必须用JDK1.5 编译源码, 1.6编译SDK之类的,

其实是已经不需要了, 最新版的Android 只要直接装sun-java6-jdk就好了. (apt-get找不到就更新你的源或者直接去官网下)

然后如果你用的是32位的Linux, 编译之前必须做如下修改: (方法来自:/yihui8/archive//03/10/6237433.aspx)

将./external/clearsilver/cgi/Android.mk ./external/clearsilver/java-jni/Android.mk ./external/clearsilver/util/Android.mk ./external/clearsilver/cs/Android.mk

四个文件中的LOCAL_CFLAGS += -m64 LOCAL_LDFLAGS += -m64 注释掉,或者将“64”换成“32”LOCAL_CFLAGS += -m32 LOCAL_LDFLAGS += -m32

然后,将./build/core/main.mk 中的ifneq (64,$(findstring 64,$(build_arch))) 改为:ifneq (i686,$(findstring i686,$(build_arch)))

做完以上修改之后, 就可以开始编译源码了, cd到源码根目录下, 打"make". 然后去看场电影吧. 回来就编好了..

这一步会在android/out/target/product/generic/下面生产3个后缀为img的文件,建议拷贝一份出来吧,

我就遇到过这几个文件莫名消失结果需要重新make的情况.

然后回来如果你愿意的话,再执行一下make sdk. 具体查看这里的第6和第7点吧.

(/jackyu613/archive//07/31/5778646.aspx)

如果你跟我一样只需要自己修改并编译和测试系统app, 是不需要make sdk这一步的

然后工作之前需要配置一下环境变量:

gedit ~/.bashrc 注意修改成你自己放源码的路径, 将以下2行添加到文件末尾:

export PATH=$PATH:/home/xxx/android/out/host/linux-x86/binexport ANDROID_PRODUCT_OUT=/home/xxx/android/out/target/product/generic

最后记得执行一下source ~/.bashrc

并且在源码根目录下执行一下:

. build/envsetup.sh会帮你启用几个新的命令.比如下面我们要用到的"mmm"

然后就可以去修改你想要修改的系统app了, 全部都在android/packages下面.

具体修改的例子我会另外写一个文章来说,这次先说整个流程吧.

参考自(/home.php?mod=space&uid=11248&do=blog&id=1040)

比如我修改的是系统的英文输入法, 位于android/packages

修改完后直接在android目录下执行, 指定到包含有Android.mk文件的目录就对了 :

mmm packages/imputmethods/LatinIME/

很快就会编译好了

(千万不要在根目录不加任何参数直接执行"mmm",不然你会后悔的,这等同于之前花了好长时间的"make")

然后就要把编译好的文件安装到模拟器中, 你可以之前就启动了模拟器, 也可以现在才启动, 都可以的,

安装前后也不需要重启模拟器, 执行了adb install 直接可以看到效果.

启动模拟器可以在android/out/target/product/generic/ 下直接执行这个命令:

emulator -image system.img -data userdata.img -ramdisk ramdisk.img然后用这个命令把自己编译好的apk文件传入模拟器:

adb install -r /home/xxx/android/out/target/product/generic/system/app/***.apk到这里基本就可以实现整个修改和调试系统app的流程啦, 其实前面都是一劳永逸的环境配置工作,实际上一直要用到的就是mmm和adb install -r 这两个命令而已

因为有些系统app涉及到jni的部分, 在Eclipse下面查看项目是会出错的, 我也不知道怎么实现在Eclipse正常调试,

所以只能是在文本编辑器里直接修改再install到模拟器里查看效果.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。