“固件快速修改定制指南”的版本间的差异
(→A133专栏) |
(→如何向固件中添加开机自启动的APP(需具备Launcher属性)?) |
||
第87行: | 第87行: | ||
1. 将apk文件加入固件; | 1. 将apk文件加入固件; | ||
− | 2. 修改build.prop,在persist.sys. | + | 2. 修改build.prop,在persist.sys.country=CN后添加如下两行: |
ro.sw.defaultlauncherpackage=xxxxxxxx | ro.sw.defaultlauncherpackage=xxxxxxxx |
2022年6月22日 (三) 08:57的最新版本
本章节介绍如何快速修改定制系统固件,涉及相关文件的修改既可通过修改源码后重新编译并打包,也可使用全志固件修改器DragonFace(可在资料光盘/开发工具中下载)直接修改打包后的固件镜像。
目录
通用篇
如何修改屏幕分辨率?
1. 在FEX文件中修改[lcd0]参数块;
2. 对于小于800x480分辨率的屏需要替换开机LOGO,将图片缩小到分辨率不大于液晶分辨率的尺寸;
3. 修改build.prop文件中的ro.sf.lcd_density属性,对照下表:
液晶分辨率 | 480x272 | 320x480 | 800x480 | 1024x600或更高 |
---|---|---|---|---|
lcd_density | 72 | 85 | 120 | 160 |
如何改为仅HDMI输出,且自定义屏幕分辨率?(A64/A40i)
1. 在FEX文件中修改lcd_used=0;
2. 在FEX文件中修改hdmi_used=1;
3. 在FEX文件中修改[disp]参数块,对照下表:
720P | 1080P | |
---|---|---|
screen0_output_type | 3 | 3 |
screen0_output_mode | 5 | 10 |
screen1_output_type | 0 | 0 |
screen1_output_mode | 5 | 10 |
fb0_width | 1280 | 1920 |
fb0_height | 720 | 1080 |
4. 在build.prop中persist.sys.hdmi_audio_enable前面添加:
persist.sys.hdmi_output_mode=5
数字代表输出模式,5为720P 60Hz,10为1080P 60Hz,注意要与FEX文件中参数匹配。
5. 如果遇到色彩显示不正常,可尝试修改FEX文件:hdmi_cts_compatibility=1;
如何修改触摸屏分辨率?
1. 在FEX文件中修改ctp_screen_max_x和ctp_screen_max_y;
2. 如果需要对调X轴,则让ctp_revert_x_flag=1;同理Y轴对调让ctp_revert_y_flag=1;
3. 如果需要交换X/Y轴,则让ctp_exchange_x_y_flag=1;
如何旋转摄像头、支持双摄像头等?
使用固件修改器修改camera.cfg文件的参数项,具体请参考《A64 Android M快速移植指南》3.6.3章节。
如何让固件支持UVC摄像头?(即禁用CSI)
1. 在FEX文件中修改csi0_used=0和csi0_dev0_used=0;
2. 修改init.rc文件,将下列代码块屏蔽:
# csi module
insmod /system/vendor/modules/videobuf2-core.ko
insmod /system/vendor/modules/videobuf2-memops.ko
insmod /system/vendor/modules/videobuf2-dma-contig.ko
insmod /system/vendor/modules/vfe_io.ko
insmod /system/vendor/modules/ov5640.ko
insmod /system/vendor/modules/vfe_v4l2.ko
即在每行第一个字母前增加#,如下:
# csi module
#insmod /system/vendor/modules/videobuf2-core.ko
#insmod /system/vendor/modules/videobuf2-memops.ko
#insmod /system/vendor/modules/videobuf2-dma-contig.ko
#insmod /system/vendor/modules/vfe_io.ko
#insmod /system/vendor/modules/ov5640.ko
#insmod /system/vendor/modules/vfe_v4l2.ko
3. 在打开“相机”或者其他使用摄像头的应用前请先插好USB摄像头!
如何向固件中添加开机自启动的APP(需具备Launcher属性)?
1. 将apk文件加入固件;
2. 修改build.prop,在persist.sys.country=CN后添加如下两行:
ro.sw.defaultlauncherpackage=xxxxxxxx
xxxx为指定apk的包名。包名可以只写一部分,系统会自动匹配包含此字符串的包名所对应APP并将匹配到的最后一个设为Launcher。
如何切换以太网网卡驱动(RTL8152/SR9900)?
修改init.rc,找到下列代码:
# network
insmod /system/vendor/modules/usbnet.ko
#insmod /system/vendor/modules/asix.ko
#insmod /system/vendor/modules/qf9700.ko
#insmod /system/vendor/modules/mcs7830.ko
#insmod /system/vendor/modules/rtl8150.ko
#insmod /system/vendor/modules/r8152.ko
#insmod /system/vendor/modules/cdc_ether.ko
#insmod /system/vendor/modules/smsc75xx.ko
#insmod /system/vendor/modules/smsc95xx.ko
insmod /system/vendor/modules/sr9900.ko
保证第一行usbnet.ko不被注释掉,剩下的需要使用哪个驱动就取消注释哪个,注意不同型号的网卡驱动只能有一个存在。
如何开机时自动打开“停用HW叠加层”?
修改build.prop,找到下列代码:
ro.debug.disable_hwc=1
修改该值,1为打开“停用HW叠加层”选项,0为关闭。对于高分辨率显示输出开启此项后将采用GPU进行图像叠加,可解决画面抖动、撕裂等问题,但也会加重GPU负担,功耗和发热增加。
如何开机默认竖屏显示(屏幕旋转)?
修改build.prop,找到下列代码:
persist.sys.ui_rotation=0
修改该值为旋转角度,可选值0,90,180,270。注意调整后开机LOGO(bootlogo.bmp)需要进行对应方向调旋转(长宽要不可超过屏幕分辨率),启动动画(bootanimation.zip)的图片需改为竖幅(不要进行旋转)。
如何默认隐藏状态栏或导航栏?
修改build.prop,找到下列代码:
persist.sys.nobar=0
修改该值为隐藏选项,0-不隐藏,1-只隐藏状态栏,2-只隐藏导航栏,3-都隐藏。
A133专栏
如何开启/关闭AC107麦克风?
开启:
1. 修改longan/device/config/chips/a133/configs/c3/board.dts,将节点ac107@36和snddaudio0:sound@3的status改为okay; 2. 修改android/device/softwinner/ceres-c3/ceres-c3.mk,将persist.sys.use_ac107=0改为persist.sys.use_ac107=1(若无该行则添加上); 3. 编译longan和android后烧录验证;
关闭:
1. 修改longan/device/config/chips/a133/configs/c3/board.dts,将节点ac107@36和snddaudio0:sound@3的status改为disabled; 2. 修改android/device/softwinner/ceres-c3/ceres-c3.mk,将persist.sys.use_ac107=1改为persist.sys.use_ac107=0,或直接删除该行; 3. 编译longan和android后烧录验证;