测试提了几个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. git 检索

    图形化客户端:sourcetree下载: https://www.sourcetreeapp.com/安装: 由于种种不可描述的原因,无法注册账号且无法登陆所以需要绕过登陆绕过登陆: 去到 C:\Us ...

  2. Django 初始化数据库遇到问题(python manage.py migrate)

    问题:django.db.utils.InternalError: (1049, "Unknown database 'main'") 在Django 配置的数据库上 执行  cr ...

  3. MyBatis的一级缓存、二级缓存演示以及讲解,序列化异常的处理

    MyBatis的缓存机制 缓存就是内存中的一个空间,通常用来提高查询效率 MyBatis支持两种缓存技术:一级缓存和二级缓存,其中一级缓存默认开启,二级缓存默认关闭 一级缓存 (1)一级缓存默认开启 ...

  4. 【GitHub】源代码管理工具初识

    软件工程综合实践第四次个人作业 作业要求:通过搜索资料和自学,了解源代码管理工具——GitHub 前言: GitHub,读音 /git·hʌb/ ,让社会化编程成为现实,其于2018年6月4日被微软收 ...

  5. ansible-playbook安装zabbix_server,agent监控

    主要完成通过playbook自动生成zabbix_server,agent,这里没有完全实现自动化,这里机器的获取还是需要人为手工填写,如果感兴趣想通过自动获取需要部署的机器可以通过namp扫描工具a ...

  6. 计算机 KB,MB,GB,TB,PB,EB 计算

    ASCII码:一个英文字母(不分大小写)占一个字节的空间.一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数.换算为十进制,最小值-128,最大值127.如一个ASCII码就是一个字节 ...

  7. 实验3-1 求一元二次方程的根 (20 分) 《C语言程序设计实验与习题指导(第3版)》

    本题目要求一元二次方程的根,结果保留2位小数. 输入格式: 输入在一行中给出3个浮点系数a.b.c,中间用空格分开. 输出格式: 根据系数情况,输出不同结果: 1)如果方程有两个不相等的实数根,则每行 ...

  8. CodeForces - 666E: Forensic Examination (广义SAM 线段树合并)

    题意:给定字符串S,然后M个字符串T.Q次询问,每次给出(L,R,l,r),问S[l,r]在L到R这些T字符串中,在哪个串出现最多,以及次数. 思路:把所有串建立SAM,然后可以通过倍增走到[l,r] ...

  9. windows命令查看端口占用情况

    打开cmd 查看端口占用情况:netstat -aon 查看PID对应的进程:tasklist /FI "PID eq 16948"

  10. jmeter5.1企业级应用功能详解

    apache jmeter是100%的java桌面应用程序,它被设计用来加载被测试软件功能特性.度量被测试软件的性能.jmeter可以模拟大量的服务器负载,并且jmeter提供图形化的性能分析. JM ...