# RK3399配置笔记 **Repository Path**: incast_admin/rk3399_configuration_notes ## Basic Information - **Project Name**: RK3399配置笔记 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-06-18 - **Last Updated**: 2021-11-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RK3399配置笔记 #### 介绍 该文档旨在配置RK3399 ## 1. adb shell 默认超级管理员 在`build/core/main.mk`下将`ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=1`改成`ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=0`然后执行`make bootimage`重新生成 ## 2.默认启用USB连接 在`device/rockchip/rk3399/init.box.rc`文件中加入以下两行: ``` rite /sys/kernel/debug/usb@fe800000/rk_usb_force_mode peripheral setprop persist.usb.mode peripheral ``` 然后执行`make bootimage`重新生成 ## 3.默认启用USB调试 在`device/rockchip/rk3399/rk3399_firefly_aio_box/system.prop`中加入`ro.adb.secure=0`,然后`make systemimage`重新生成 ## 4.隐藏虚拟按键 在`build/tools/buildinfo.sh`加入`echo "qemu.hw.mainkeys=1"`,然后`make systemimage`重新生成;也可以启动后直接在`/system/build.prop`里加入`qemu.hw.mainkeys=1` ## 5.修改屏幕分辨率和屏幕方向 在`device/rockchip/rk3399/rk3399_firefly_aio_box/system.prop`中设置`persist.sys.framebuffer.main`字段值,比如设置成`1280x720`,就是默认横屏,分辨率为`1280x720`.如果想设置成竖屏,则设置成:`720x1280` 然后`make systemimage`重新生成 ## 6.带有__DATE__,__TIME__宏的代码编译失败 编译时报错的内容如下: ``` error: expansion of date or time macro is not reproducible [-Werror,-Wdate-time] ``` 我们在自己的`Makefile`中加:-Wno-error=date-time`是没用的 得在`build/core/config.mk`文件中,找到`TARGET_ERROR_FLAGS`变量,将它后面的`-Werror=date-time`选项去掉。如果是`Android8.0 `在`build/soong/cc/config/global.go`找到`deviceGlobalCflags`,将其中的`-Werror=date-time`值去掉。 然后`make systemimage`重新生成 ## 7.adb devices获取不到序列号 当我们执行`adb devices`的时候,有概率获取不到手机序列号,提示`(no serial number)`. 解决办法: 将`system/core/adb/daemon/main.cpp`下的`property_get("ro.serialno", value, "none");`改为`property_get("sys.serialno", value, "none");` 并将`device/rockchip/common/init.rk30board.rc`中的: ``` on property:sys.serialno=* setprop ro.serialno ${sys.serialno} ``` 注释掉 最后执行`make bootimage`重新生成 ## 8.禁用dm-verity `device/rockchip/rk3399/init.rk3399.rc`下注释掉`verity_update_state`和`verity_load_state` ``` on early-boot # Update dm-verity state and set partition.*.verified properties # verity_update_state ``` ``` on init # Load persistent dm-verity state # verity_load_state ``` `make bootimage`重新生成 ## 9.生成镜像时提示Out of space `device/rockchip/common/BoardConfig.mk`里将变量`BOARD_XXXXXX_PARTITION_SIZE`的值调大 ## 10.设置默认语言为中文 `build/target/product/full_base.mk`里设置`PRODUCT_LOCALES := zh_CN` ## 11.隐藏状态栏电量图标 作为开发板,显示电量是没什么太大作用的,所以有时候我们需要隐藏它。想要隐藏电量图标,需要修改两处: (1) `frameworks/base/packages/SystemUI/res/layout/system_icons.xml`下把`android:id为battery`的节点,添加`android:visibility="gone"`属性 (2) `frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java`类的构造函数,注释掉以下两行: ``` public BatteryControllerImpl(Context context) { //...... //registerReceiver(); //updatePowerSave(); } ``` ## 12. 默认24小时制 (1)在`frameworks/base/packages/SettingsProvider/res/values/defaults.xml`文件中,将`def_time_12_24`字段值修改为`24` ``` 24 ``` (2)`frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java`的`loadSystemSettings`方法,添加: ``` loadStringSetting(stmt, Settings.System.TIME_12_24, R.string.def_time_12_24); ```