Android系统源码编译浅谈

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/w815878564/article/details/53435017

其实浅谈也算不上,只能算对最近工作遇到的问题的总结。
第一个问题,如何替换桌面壁纸。按照我一开始的想法,桌面应该是Luancher应用的一个Activity,去Launcher应用替换相应的资源文件即可。然而最后发现没有任何作用,于是我又想起了似乎还有一个设置桌面和锁屏壁纸的应用——Wallper。但是去Wallper的res却没有找到任何一张壁纸信息。后来经人提醒,才知道System/app下面有一个framework_res.apk。这里面才是系统使用的各种资源文件。不过对于这一块,我还没有仔细研究,但是以此推论来看,如果要替换系统的某些图标之类的,那就替换framework_res.apk里面的对应的资源就行了,然后重新编译即可。
第二个问题,源码编译的launcher无法响应HOME键,也没有启动Activity。一开始查询源码得知,Luancher3里面的Mainfest.xml没有配置android.intent.category.HOME和android.intent.category.LAUNCHER,于是很高兴的配置完这两个熟悉,然后执行make。结果让我大吃一惊,HOME键依旧无法响应。一开始怀疑是我还有什么属性没有配置,但是试了一圈还是发现不行。最后只好写了一个app来获取Luancher的信息,结果发现android.intent.category.HOME和android.intent.category.LAUNCHER根本没有配置上去。后来,还是同事的提醒,查看make执行的打印语句得知,Launcher在编译的时候是从另外一个文件夹获取的Manifest.xml文件。其它系统应用编译也是差不多的情况。
其实第二个问题算是一个教训,那就是当我们遇到问题时,我们不仅需要直接检查我们编写的文件,还需要关注执行过程中的各种打印,仔细阅读,而不是瞎猜。

猜你喜欢

转载自blog.csdn.net/w815878564/article/details/53435017