测试提了几个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. QCache 缓存(类似于map的模板类,逻辑意义上的缓存Cache,方便管理,默认类似于LRU的淘汰算法)

    最近在学习缓存方面的知识,了解了缓存(Cache)的基本概念,为什么要使用缓存,以及一些缓存算法(缓存替换),如LRU.LFU.ARC等等. 这些缓存算法的实现过程会使用一些基本的数据结构,如list ...

  2. Vue.js---指令与事件、语法糖

    指令与事件 指令(Directives)是Vue.js模板中最常用的一项功能,它带有前缀v-,指令的职责就是当其表达式的值改变时,相应地将某些行为应用到DOM上. v-if: 显示这段文本 当数据sh ...

  3. Android Studio 导入 Android 系统模块并编译和调试

    FAQ: AS导入系统模块源码,并且能够编译调试,正常查看java doc ???? Android AOSP基础(五)Android Studio调试系统源码的三种方式http://liuwangs ...

  4. 99.9%的Java程序员都说不清的问题:JVM中的对象内存布局?

    本文转载自公众号:石彬的架构笔记,阅读大约需要8分钟. 作者:李瑞杰 目前就职于阿里巴巴,资深 JVM 研究人员 在 Java 程序中,我们拥有多种新建对象的方式.除了最为常见的 new 语句之外,我 ...

  5. Java变量常量声明和定义

    一.常量和变量 1.常量变量定义 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量. 2 ...

  6. RHEL6+GFS2+MYSQL高可用

    RHCS集群安装部署 组件介绍: luci: luci是一个基于web的,用来管理和配置RHCS集群,通过luci可以轻松的搭建一个功能强大的集群系统,节点主机可以使用ricci来和luci 管理段进 ...

  7. Beta冲刺——用户使用调查报告

    项目Beta冲刺(团队) --用户使用调查报告 一.项目概述 1.1项目名称 卡战三国 1.2项目简介 一款休闲娱乐益智卡牌游戏 1.3 项目预期目标 开发一款基于三国题材的卡牌通关对战手机游戏 二. ...

  8. php析构函数什么时候调用?

    析构函数何时被调用 析构函数在下边3种情况时被调用: 对象生命周期结束,被销毁时: 主动调用delete :(推荐学习:PHP编程从入门到精通) 对象i是对象o的成员,o的析构函数被调用时,对象i的析 ...

  9. NYOJ104-最大和-(前缀和)

    题意:给一个矩阵,每个元素有正有负,求最大矩阵和. 解题: (1)对原矩阵a用前缀和处理,处理变成矩阵sum,sum[i][j]表示从左上角为a[1][1]到右下角a[i][j]的全部元素和. 矩阵必 ...

  10. vuex2 mapActions 报错 `unknown action type: xxxx`

    export const setBreadCrumb = ({ dispatch }, data) => { dispatch('SET_BREADCRUMB', data) } 当调用的时候报 ...