android x86 固件定製

測試提了幾個bugjava

一、系統語言默認設置成中文,不然時間控件顯示的內容有問題
二、關閉10分鐘不操做自動休眠功能
三、默認關閉虛擬鍵盤,目的在文本控件點擊後,虛擬鍵盤就會在右下角顯示出來,致使物理鍵盤的小鍵盤的回車鍵無效android


Android系統修改默認語言爲中文
對於Android系統修改默認語言的方法,各個版本的系統方法都差很少一致,至少我在Android5.1和Android9.0使用都成功,具體方法以下:bash

在build/target/product/full_base.mk中
修改PRODUCT_LOCALES := zh_CN 就能夠了。app

上面修改無效,嘗試:ide

https://blog.csdn.net/victoryckl/article/details/7969433函數

.修改build/tools/buildinfo.sh:測試

echo "persist.sys.language=zh"ui

echo "persist.sys.country=CN"google

echo "persist.sys.localevar="spa

echo "persist.sys.timezone=Asia/Shanghai"

echo "ro.product.locale.language=zh"

echo "ro.product.locale.region=CN"

關閉10分鐘不操做自動休眠功能

修改PowerManagerService.java文件getScreenOffTimeoutLocked()函數

androidx86/frameworks$ vi ./base/services/core/java/com/android/server/power/PowerManagerService.java

直接return mMaximumScreenOffTimeoutFromDeviceAdmin;

默認關閉虛擬鍵盤

lzm@compilere:~/workspace/android-x86/androidx86/frameworks/base/services/core/java/com/android/server$ grep -rn "keyboardPresence" *                               
policy/PhoneWindowManager.java:2662:    public void adjustConfigurationLw(Configuration config, int keyboardPresence,
policy/PhoneWindowManager.java:2664:        mHaveBuiltInKeyboard = (keyboardPresence & PRESENCE_INTERNAL) != 0;
policy/PhoneWindowManager.java:2670:                || (keyboardPresence == PRESENCE_INTERNAL
wm/DisplayContent.java:1245:        int keyboardPresence = 0;
wm/DisplayContent.java:1278:                    keyboardPresence |= presenceFlag;

修改wm/DisplayContent.java:1278:                    keyboardPresence |= presenceFlag;

//if (device.getKeyboardType() == InputDevice.KEYBOARD_TYPE_ALPHABETIC) {
if (1) {
     config.keyboard = Configuration.KEYBOARD_QWERTY;
     keyboardPresence |= presenceFlag;
}

增長自帶應用

build/core/Makefile:34: error: Prebuilt apk found in PRODUCT_COPY_FILES: vendor/evideo/common/priv-app/google_inputMethod.apk:system/priv-app/google_inputMethod.apk, use BUILD_PREBUILT instead!.
15:20:59 ckati failed with: exit status 1

vi build/core/Makefile
#Tommy Delete  刪除以下代碼
#define check-product-copy-files
#$(if $(filter %.apk, $(1)),$(error
#    Prebuilt apk found in PRODUCT_COPY_FILES: $(1), use BUILD_PREBUILT #instead!))
#endef

增長版本信息:

build/make/tools/buildinfo.sh增長:

echo "ro.product.version=1.0.0"

lzm@compilere:~/workspace/android-x86/androidx86$ cat gen.sh
#!/bin/bash

FIRMWARE_VERSION="1.0.0"

sed -i "s/ro.product.version=.*/ro.product.version=$FIRMWARE_VERSION\"/g" \
        build/make/tools/buildinfo.sh

ROOT_DIR=$(pwd)

echo "cp platform signature"
cp -a $ROOT_DIR/vendor/evideo/emt100t/security/platform.* $ROOT_DIR/build/target/product/security/

. build/envsetup.sh
lunch android_x86_64-userdebug
make -j32 iso_img

機器綁定網卡

修改 device/generic/common/init.sh

function init_evideo()
{
    case "$(cat /sys/class/net/wifi_eth/address)" in
        64:00:6a:00:29:ac|a4:1f:72:5f:6b:07|a4:1f:73:5f:6f:0e)
            ;;
         *)
            reboot
            ;;
    esac
}

do_init添加調用函數

相關文章
相關標籤/搜索