- 在制作完 initlogo.rle 之后, 放入终端使用,发现第一次可以显示,第二次重启时又变成android的字符了,查看代码 system/core/init/init.c [load_565rle_image] --> logo.c 中发现源码在显示完毕initlogo.rle之后作了 unlink 操作, 而android 默认initlogo.rle 所在的system.img 是只读的,所以如果按照android 的标准形式作分区及其属性是没有问题, 但对于自定义的ya 或者 ubi形式的可读写的rootfs时就又问题了, 所以干脆注释unlink 代码吧.
- iibull 提醒大家, cupcake 默认是英文的系统, 而我们大陆这些拿来主意者一般情况下都是要直接使用英文的, 因为以后车间生产的时候总不能说还要开机进行设置吧. 看看文章 里边有详细介绍, 其中主要的是就是persist.sys.timezone,persist.sys.language,persist.sys.country,persist.sys.localevar 四个属性的设置问题, 那么修改你的init.硬件.rc 文件吧. 另外两个属性 ro.product.locale.language ro.product.locale.region 也可以通过设置PRODUCT_LOCALES := zh_CN达到效果. 也就是说最后的build.prop文件中要存在的属性设置如下. 不过后面发现还有更简单的, make PRODUCT-machineID-eng-zh_CN 即可,呵呵, 还是实践出真知啊.
- 另外 cupcake 默认是超时自动待机的, 而这个超时待机是又BUG的, 如何设置永不超时呢? 其实看看代码就OK了. packages/apps/Settings/下就是代码,其中res/values-zh-CN.xml 中 screen_timeout_entries定义即使超时选项. 它在 res/xml/sound_and_display_settings.xml 中被调用. src/com/android/settings/SoundAndDisplaySettings.java代码中. 其中代码为 Settings.System.putInt(getContentResolver(), SCREEN_OFF_TIMEOUT, value) , 那么在初始化的时候调用本行做个简单的处理吧. 永不超时默认为 -1, 其他超时单位为 ms , 例如 persist screen timeout value 60000 为一分钟
|