搞Android开发有一段时间了,之前一直搞应用层的,感觉没多大意思了,后来找了份framework的工作,入职以后,感觉非常高兴,这里接触到的东西非常符合自己的意愿,能看到Android所有的代码,比之前的应用层全面多了。
今天闲来没事,自己想编译一下framework.jar,很随意,在ActivityThread的类变量H的handleMessage方法里边加了一句,就是把日志正常打印出来,截图如下:
好了,现在开始编译,先在项目的根目录下执行source build/envsetup.sh加载编译环境,大家需要明白,本步其实是为了给下面执行mm命令而准备的,网上也有其他朋友说可以将envsetup.sh配置到环境变量中,那样就可以随意执行mm了,不过我这里因为涉及到的项目比较多,对比了下各项目的envsetup.sh,还是不一样的,所以没有使用环境变量的作法,大家如果有兴趣,可以试一下。第二步执行lunch,选择编译环境,然后就可以进入framework/base目录下执行mm了。然而第一次执行时却报错了!!什么情况??

本文记录了一位Android开发者尝试编译framework.jar的过程。在ActivityThread的H.handleMessage方法中添加日志打印后,通过执行source build/envsetup.sh、lunch选择编译环境,以及在framework/base和core/res目录下执行mm命令,成功编译并替换framework.jar。最终,日志显示在logcat中,验证了修改的有效性。
最低0.47元/天 解锁文章
8010

被折叠的 条评论
为什么被折叠?



