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文件中加入以下兩行:

write /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_stateverity_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

<string name="def_time_12_24" translatable="false">24</string>

(2)frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.javaloadSystemSettings方法,添加:

loadStringSetting(stmt, Settings.System.TIME_12_24, R.string.def_time_12_24);

13. 關閉SELiunx

system/core/init/init.cppselinux_is_disabled方法直接返回false


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM