记录一些做过容易忘的源码修改开发记录,排名不分前后。
●系统UI修改,包括SystemUI
1、修改桌面壁纸:
a) 替换framework/base/core/res/res/drawable-nodip/default_wallpaper.jpg
b)替换framework/base/core/res/res/drawable-sw600dp-nodip/default_wallpaper.jpg
c)替换framework/base/core/res/res/drawable-720dp-nodip/default_wallpaper.jpg
●修改framework,增加系统方法等
1.白名单添加
如已发布的文章-Android源码开发记录中自定义系统服务,增加系统API接口等等,需要添加白名单。
编译报错信息如下
Error: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar contains class file com/demo/demo.class, which is not in the whitelist
解决办法
文件目录./build/core/tasks/check_boot_jars/package_whitelist.txt
在白名单文件最后添加自己增加的包名
#add
com\.demo
com\.demo\..*
●新增系统应用后,加入到编译脚本内
选择 /device/<company>/ <product>/xxxx.mk,或者从 build/target/product/ 目录下选择一个被“引用”的.mk,在其中的PRODUCT_PACKAGES参数列表中添加本工程:
PRODUCT_PACKAGES :=
DeskClock
Calculator
Calendar
Camera2
Email
Demo
●修改系统属性
1.系统dpi
实际生产中硬件液晶屏分辨率可能会变化,相应的系统显示dpi就需要在系统属性build.prop中修改。
这里只了解概念和如何计算dpi。
参考文章android分辨率 尺寸 dpi换算
2.支持网络adb
service.adb.tcp.port=5555
3.修改默认时区
persist.sys.timezone=Asia/Shanghai
4.修改默认亮度等等
关键文件frameworks\base\packages\SettingsProvider\res\values\defaults.xml
5.修改默认系统NTP同步地址,次数等
frameworks/base/core/res/res/values/config.xml
●Android N以上,私有库问题
system/core/rootdir/etc/public.libraries.android.txt
需在最后加上想要被公开的so库,这样编译后的库可供各个应用使用