测试提了几个bug

1、系统语言默认设置成中文,否则时间控件显示的内容有问题
2、关闭10分钟不操作自动休眠功能
3、默认关闭虚拟键盘,目的在文本控件点击后,虚拟键盘就会在右下角显示出来,导致物理键盘的小键盘的回车键无效


Android系统修改默认语言为中文
对于Android系统修改默认语言的方法,各个版本的系统方法都差不多一致,至少我在Android5.1和Android9.0使用都成功,具体方法如下:

在build/target/product/full_base.mk中
修改PRODUCT_LOCALES := zh_CN 就可以了。

上面修改无效,尝试:

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

.修改build/tools/buildinfo.sh:

echo "persist.sys.language=zh"

echo "persist.sys.country=CN"

echo "persist.sys.localevar="

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添加调用函数

    修改小键盘回车与主键盘回车键值一样

diff --git a/frameworks/base/data/keyboards/Generic.kl b/frameworks/base/data/keyboards/Generic.kl
index f10ba96..e13305c 100644
--- a/frameworks/base/data/keyboards/Generic.kl
+++ b/frameworks/base/data/keyboards/Generic.kl

@@ -115,7 +115,8 @@ key 92    HENKAN
  key 93    KATAKANA_HIRAGANA
  key 94    MUHENKAN
  key 95    NUMPAD_COMMA
-key 96    NUMPAD_ENTER
+# modify by songyoulin
+key 96    ENTER
  key 97    CTRL_RIGHT
  key 98    NUMPAD_DIVIDE
  key 99    SYSRQ

替换默认输入法为google拼音

参考:https://www.cnblogs.com/muhuacat/p/7406112.html

diff --git a/RK3288_5.1/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/RK3288_5.1/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
index a1e900a..6eebebb 100644
--- a/RK3288_5.1/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/RK3288_5.1/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -86,7 +86,7 @@
      <string name="def_wireless_charging_started_sound" translatable="false">/system/media/audio/ui/WirelessChargingStarted.ogg</string>
     
      <!-- add by lyx -->
-    <string name="config_default_input_method" translatable="false">com.sohu.inputmethod.sogou/.SogouIME</string>
+    <string name="config_default_input_method" translatable="false">com.google.android.inputmethod.pinyin/.PinyinIME</string>

替换默认输入法为google拼音不能用

找了个x86版本的,主要是lib底下要是x86的库

vmware安装时候启动进入不android界面

grub界面,按e修改参数

移动光标“ quiet ”参数替换为“ nomodeset xforcevesa

永久修改:

grub选项进入debug

vi /grub/menu.lst

https://www.android-x86.org/documentation

android x86 固件定制的更多相关文章

  1. Android系统固件定制方式

    target_product.mkAndroid系统在构建关于某种产品的固件时,一般会根据特定于该产品的具体target_product.mk来配置生成整个Android系统./target_prod ...

  2. 调试 Android* x86 应用程序的方法以及要使用的工具

    作者:Xiaodong Wang 1.简单介绍 众所周知,Android* 开发者头顶很多称呼:设计员.程序员等,而且一般会不可避免地被称为故障检修工. 代码中的错误无法避免.因此不管您是否一開始就造 ...

  3. ubuntu下安装RemixOS双系统(Android x86)

    这篇文章主要讲在怎样在ubuntu下安装RemixOS pc版(Android x86版本号),下面两种做法的思路都适合安装不论什么版本号的Android x86版本号到ubuntu系统上,仅仅须要改 ...

  4. Eclipse连接VirtualBox中的Android x86

    Android x86 Alt+F1打开命令行,命令netcfg查看当前ip,记住,然后Alt+F7回界面. Eclipse-Window-Preferences-Android-DDMS-Use A ...

  5. Android 给应用定制皮肤

    Android 给应用定制皮肤 导读:皮肤也就是相关的资源文件单独放置在某个工程中,一种皮肤一个工程文件.一个工程包括N多的资源文件,多个工程间资源的关系是,文件名,资源ID等完全一样. 在实现程序功 ...

  6. 使用android x86进行android应用开发.

    首发论坛 安卓巴士.id:android_bin 一.必备工具: 1.虚拟机软件(本文使用virtual Box为例), 2.android x86镜像,下载地址http://www.android- ...

  7. 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定制Android平台系统(瘋耔修改篇二)

    第四章.Android编译系统与定制Android平台系统 4.1Android编译系统 Android的源码由几十万个文件构成,这些文件之间有的相互依赖,有的又相互独立,它们按功能或类型又被放到不同 ...

  8. 【转】How to Start Intel Hardware-assisted Virtualization (hypervisor) on Linux to Speed-up Intel Android x86 Emulator

    [转]How to Start Intel Hardware-assisted Virtualization (hypervisor) on Linux to Speed-up Intel Andro ...

  9. How to build ffmpeg with hardware accelerated codecs for Android x86

    In order to build a complete ffmpeg with hardware acceleration for Intel platform (XXX lake + Atom), ...

随机推荐

  1. echart绘制GDP数据

    {% extends "base.html" %} {% block self_head_css_js %} {% endblock %} {% block main_conten ...

  2. python匹配linux通配符

    有时候需要匹配linux中的通配符,例如*和?,它们的含义为: *:匹配0个或多个字符: ?:匹配任意单个字符. 这和正则表达式中含义不一样,在正则表达式中: *:匹配前一个字符0次或者多次: ?:匹 ...

  3. linux设备驱动程序--hello-world

    linux字符设备驱动程序--hello_world 基于4.14内核, beagleBone green平台 PC端的设备驱动程序 有过电脑使用经验的人都知道,当我们将外部硬件设备比如鼠标键盘插入到 ...

  4. 将Quartz.NET集成到 Castle中

    原文:https://cloud.tencent.com/developer/article/1030346 Castle是针对.NET平台的一个开源项目,从数据访问框架ORM到IOC容器,再到WEB ...

  5. React源码 React.Component

    React中最重要的就是组件,写的更多的组件都是继承至 React.Component .大部分同学可能都会认为 Component 这个base class 给我们提供了各种各样的功能.他帮助我们去 ...

  6. 尾递归 递归函数中,递归调用是整个函数体中最后的语句,且它的返回值不属于表达式的一部分时,这个递归调用就是尾递归,空间复杂度是O(1)

    什么是递归深度 递归深度就是递归函数在内存中,同时存在的最大次数. 例如下面这段求阶乘的代码: Java: int factorial(int n) { if (n == 1) { return 1; ...

  7. ArcGIS for Server 10.2 开启GeometryService

    过程非常简单,所以网上文档比较少. 打开网站管理页面: http://localhost:6080/arcgis/manager/ 点左边Utilities

  8. ASP.NET 内容管理系统CMS

    一.Umbraco 项目地址: http://umbraco.org/ Umbraco是一个开放源码的CMS内容管理系统,基于asp.net建立,使用mssql进行存储数据. 使用Umbraco ,设 ...

  9. JMeter5.1开发Java协议接口脚本【待完成】

    JMeter5.1开发Java协议接口脚本

  10. Angular、React、Vue是什么?

    基于js语言的UI(组件)管理库 +数据+交互+组织 相当于iOS的uikit(UIView)