【rk3229 android7.1.2 替换默认输入法】

问题平台描述

  • 问题描述
  • 解决方法

郑重声明:本人原创博文,都是实战,均经过实际项目验证出货的
转载请标明出处:攻城狮2015

Platform: Rockchip
CPU:rk3229
OS:Android 7.1.2
Kernel: 3.10

问题描述

国内客户,觉得安卓自带的输入法不好用,又或者不能输入中文,会需求修改默认输入法,sogou,baidu等

解决方法

下面以去除百度输入法为安卓默认输入法为例,如果其他需要替换别的输入法,逆向即可

--- a/device/rockchip/rk322x/rk322x_box/preinstall_del/sougou/Android.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-LOCAL_PATH := $(my-dir)
-LOCAL_PATH := $(my-dir)
-include $(CLEAR_VARS)
-LOCAL_APK_NAME := sougou
-LOCAL_POST_PROCESS_COMMAND := $(shell mkdir -p $(TARGET_OUT_VENDOR)/bundled_uninstall_back-app/$(LOCAL_APK_NAME) && cp $(LOCAL_PATH)/$(LOCAL_APK_NAME).apk $(TARGET_OUT_VENDOR)/bundled_uninstall_back-app/$(LOCAL_APK_NAME)/)
添加preinstallApk
diff --git a/device/rockchip/rk322x/rk322x_box/preinstall_del/sougou/lib/arm/libchiperencoder_v1_2.so b/device/rockchip/rk322x/rk322x_box/preinstall_del/sougou/lib/arm/libchiperencoder_v1_2.so
deleted file mode 100644
index 2fbea139ad..0000000000
Binary files a/device/rockchip/rk322x/rk322x_box/preinstall_del/sougou/lib/arm/libchiperencoder_v1_2.so and /dev/null differ
diff --git a/device/rockchip/rk322x/rk322x_box/preinstall_del/sougou/lib/arm/librabjni-1.so b/device/rockchip/rk322x/rk322x_box/preinstall_del/sougou/lib/arm/librabjni-1.so
deleted file mode 100644
index 2edadb5445..0000000000
Binary files a/device/rockchip/rk322x/rk322x_box/preinstall_del/sougou/lib/arm/librabjni-1.so and /dev/null differ
diff --git a/device/rockchip/rk322x/rk322x_box/preinstall_del/sougou/lib/arm/libshare_v2.so b/device/rockchip/rk322x/rk322x_box/preinstall_del/sougou/lib/arm/libshare_v2.so
deleted file mode 100644
index 536593f69a..0000000000
Binary files a/device/rockchip/rk322x/rk322x_box/preinstall_del/sougou/lib/arm/libshare_v2.so and /dev/null differ
diff --git a/device/rockchip/rk322x/rk322x_box/preinstall_del/sougou/lib/arm/libtmfe30.so b/device/rockchip/rk322x/rk322x_box/preinstall_del/sougou/lib/arm/libtmfe30.so
deleted file mode 100644
index f406f18629..0000000000
Binary files a/device/rockchip/rk322x/rk322x_box/preinstall_del/sougou/lib/arm/libtmfe30.so and /dev/null differ
diff --git a/device/rockchip/rk322x/rk322x_box/preinstall_del/sougou/sougou.apk b/device/rockchip/rk322x/rk322x_box/preinstall_del/sougou/sougou.apk

2.framework修改

+++ b/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
@@ -1083,8 +1083,7 @@ public class InputMethodUtils {// At the initial boot, the settings for input methods are not set,// so we need to enable IME in that case.public void enableAllIMEsIfThereIsNoEnabledIME() {
-            //if (TextUtils.isEmpty(getEnabledInputMethodsStr())) {
-                       if (!TextUtils.isEmpty(getEnabledInputMethodsStr())) {  
+            if (TextUtils.isEmpty(getEnabledInputMethodsStr())) {StringBuilder sb = new StringBuilder();final int N = mMethodList.size();for (int i = 0; i < N; i++) {+++ b/frameworks/base/core/res/res/values/config.xml
@@ -2086,7 +2086,7 @@And the disabled_until_used state for an IME is released by InputMethodManagerServicewhen the IME is selected as an enabled IME. --><string-array name="config_disabledUntilUsedPreinstalledImes" translatable="false">
-        <item>com.baidu.input_baidutv</item>
+        <item>com.android.inputmethod.latin</item></string-array><!-- The list of carrier applications which should be disabled until used.
@@ -2711,10 +2711,5 @@If review is not required, permissions are reviewed before the appis installed. --><bool name="config_permissionReviewRequired">false</bool>
-       
-       <!--add begin-->
-       <string name="config_default_input_method" translatable="false">com.baidu.input_baidutv/.ImeService</string>
-       <string name="def_enabled_input_methods" translatable="false">com.baidu.input_baidutv/.ImeService</string>
-       <!--add end-->+++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -205,11 +205,6 @@<!-- Default for Settings.Global.DEVICE_NAME $1=MANUFACTURER $2=MODEL--><string name="def_device_name">%1$s %2$s</string>
-       
-       <string name="def_input_method" translatable="false">com.baidu.input_baidutv/.ImeService</string>
-       <string name="enabled_input_methods" translatable="false">com.baidu.input_baidutv/.ImeService</string>
-       <string name="config_default_input_method" translatable="false">com.baidu.input_baidutv/.ImeService</string>
-       <string name="def_enabled_input_methods" translatable="false">com.baidu.input_baidutv/.ImeService</string>+++ b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -2402,8 +2402,8 @@ class DatabaseHelper extends SQLiteOpenHelper {loadStringSetting(stmt, Settings.System.TIME_12_24, R.string.def_time_12_24);//add begin
-                       loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,R.string.config_default_input_method);
-                       loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,R.string.def_enabled_input_methods);
+                       //loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,R.string.config_default_input_method);
+                       //loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,R.string.def_enabled_input_methods);//add end/** IMPORTANT: Do not add any more upgrade steps here as the global,
@@ -2547,8 +2547,8 @@ class DatabaseHelper extends SQLiteOpenHelper {//add begin
-                       loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,R.string.config_default_input_method);
-                       loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,R.string.def_enabled_input_methods);
+                       //loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,R.string.config_default_input_method);
+                       //loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,R.string.def_enabled_input_methods);//add end+++ b/frameworks/base/services/core/java/com/android/server/InputMethodManagerService.java
@@ -3084,7 +3084,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub}// TODO: The following code should find better place to live.
-/*        if (!resetDefaultEnabledIme) {
+        if (!resetDefaultEnabledIme) {boolean enabledImeFound = false;final List<InputMethodInfo> enabledImes = mSettings.getEnabledInputMethodListLocked();final int N = enabledImes.size();
@@ -3101,7 +3101,7 @@ public class InputMethodManagerService extends IInputMethodManager.StubresetSelectedInputMethodAndSubtypeLocked("");}}
-*/
+

郑重声明:本人原创博文,都是实战,均经过实际项目验证出货的
转载请标明出处:攻城狮2015
有需要可以加VX
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/738946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智能警用装备柜管理系统|智能化可视化管理

智能警用装备柜管理系统|智能化可视化管理 我司&#xff08;JIONCH集驰&#xff09;警用装备管理系统&#xff08;智装备DW-S304&#xff09;是依托互云计算、大数据、RFID技术、数据库技术、AI、视频分析技术对警用装备进行统一管理、分析的信息化、智能化、规范化的系统。 智…

返回值不同算方法重载么?为什么?

1、典型回答 返回值不同不算方法重载 方法重载&#xff08;Overloading&#xff09;是指在同一个类中定义了多个同名方法&#xff0c;但它们的参数列表不同&#xff0c;方法重载要求方法&#xff1a; 名称相同参数类型、参数个数或参数顺序&#xff0c;至少有一个不同 方法…

IOS面试题object-c 91-100

91. 简述Object-C中nonatomic与atomic有什么区别?atomic是Objective-C使用的一种线程保护技术,它是为了防止写操作在未完成的时候被另外一个线程读取。从而造成数据错误。这种机制是非常耗费系统资源的,所以在iphone这种小的移动设备上,如果没有使用多线程间的通讯编程。建…

分布式之LoadBalancer

一、LoadBalancer介绍 Spring Cloud LoadBalancer是Spring Cloud官方自己提供的客户端负载均衡器,抽象和实现&#xff0c;用来替代Ribbon&#xff08;已经停更&#xff09;&#xff0c; 二、Ribbon和Loadbalance 对比 组件组件提供的负载策略支持负载的客户端Ribbon随机 Ran…

什么是网站服务器?

今天小编主要来带领大家聊一聊什么是网站服务器吧&#xff01; 网站服务器又被称为Web服务器&#xff0c;是在互联网数据中心中存放网站的服务器&#xff0c;网站服务器存储了网站上的所有内容&#xff0c;具体来说&#xff0c;服务器是一台存储了Web服务器软件以及网站的组成文…

[MYSQL数据库]--约束

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、空属性…

C++的学习

代码练习 输入一个字符串&#xff0c;统计其中大写字母、小写字母、数字、空格以及其他字符的个数 #include <iostream>using namespace std;int main() {cout << "请输入一个字符串" << endl;string str;getline(cin,str);int capital 0;int l…

HTTP/1.1 协议优化方案探讨

前言 HTTP/1.1 是目前广泛应用的网络协议之一&#xff0c;虽然已经存在多年&#xff0c;但我们仍然可以通过优化来提升其性能和效率。本文将从优化思路的角度出发&#xff0c;探讨如何在 HTTP/1.1 协议下实现优化&#xff0c;包括避免发送重复 HTTP 请求、减少 HTTP 请求次数、…

分享个好用的GPT网站

目录 一、背景 二、功能描述 1、写代码 2、联网查询 3、AI绘图 一、背景 我现在的开发工作都依靠ChatGPT&#xff0c;效率提升了好几倍。这样一来&#xff0c;我有更多时间来摸鱼&#xff0c;真是嘎嘎香~ ⭐⭐⭐点击直达 ⭐⭐⭐ 二、功能描述 1、写代码 import java.ut…

flink:通过table api把文件中读取的数据写入MySQL

当写入数据到外部数据库时&#xff0c;Flink 会使用 DDL 中定义的主键。如果定义了主键&#xff0c;则连接器将以 upsert 模式工作&#xff0c;否则连接器将以 append 模式工作 package cn.edu.tju.demo2;import org.apache.flink.streaming.api.environment.StreamExecutionE…

portainer管理远程docker和docker-swarm集群

使用前请先安装docker和docker-compose&#xff0c;同时完成docker-swarm集群初始化 一、portainer-ce部署 部署portainer-ce实时管理本机docker&#xff0c;使用docker-compose一键拉起 docker-compose.yml version: 3 services:portainer:container_name: portainer#imag…

LeetCode 26. 删除有序数组中的重复项。(通过JavaScript实现)

给你一个 非严格递增排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k &#xff0c;你…

2-Docker-应用-多容器部署Django+Vue项目(nginx+uwsgi+mysql)

摘要&#xff1a; 本文详细介绍了如何使用Docker部署一个多容器DjangoVue项目&#xff0c;包括nginx、uwsgi和mysql。文章内容涵盖了基础知识回顾、需求分析、设计方案、实现步骤、技巧与实践、性能优化与测试、常见问题与解答以及结论与展望。 阅读时长&#xff1a;约60分钟…

要将这个本地HTML文件转换为图片

要将这个本地HTML文件转换为图片&#xff0c;您可以按照以下步骤操作&#xff1a; 1. 打开文件&#xff1a; - 使用您的网页浏览器&#xff08;如Google Chrome、Mozilla Firefox、Microsoft Edge等&#xff09;打开这个本地HTML文件。您可以通过在浏览器地址栏中输入文件的…

制冷系统管道焊接气焊安全操作

气焊操作安全教育&#xff1a; 1、检查气焊用具完好牢固无损&#xff0c;不得贴粘有&#xff08;机油&#xff09;&#xff1b; 2、气瓶余压&#xff08;2KG&#xff09;停止使用&#xff1b;清除动火 10 米范围内易燃易爆物料&#xff1b; 3、库房内动火要 做好通风排气&…

python基础——函数进阶【多个返回值,多种传参方式,匿名函数】

&#x1f4dd;前言&#xff1a; 这篇文章主要记录一下在python中&#xff0c;关于函数的进阶常用知识&#xff0c;建议对编程中的函数有一定了解的读者阅读&#xff0c;如果想了解一下函数的最基础内容&#xff0c;也可先看这篇文章C语言——函数 在本文&#xff0c;我会主要讲…

ETAS入门篇-1、ISOLAR-A软件介绍

目录 ISOLAR-A介绍 体系结构 特性 架构 Explorers和Views 编辑 Editors

ORM(对象关系映射)的概念,并说明在Python中如何使用

ORM&#xff08;对象关系映射&#xff09;的概念&#xff0c;并说明在Python中如何使用 ORM&#xff08;对象关系映射&#xff09;是一种编程技术&#xff0c;它实现了将关系型数据库中的数据映射到程序中的对象模型&#xff0c;使得开发者能够使用面向对象的方式来操作数据…

海格里斯HEGERLS智能托盘四向车系统为物流仓储自动化升级提供新答案

随着实体企业面临需求多样化、订单履行实时化、商业模式加速迭代等挑战&#xff0c;客户对物流仓储解决方案的需求也逐渐趋向于柔性化、智能化。作为近十年来发展起来的新型智能仓储设备&#xff0c;四向车系统正是弥补了先前托盘搬运领域柔性解决方案的空白。随着小车本体设计…

1051:分段函数

【题目描述】 编写程序&#xff0c;计算下列分段函数yf(x)的值。结果保留到小数点后三位。 y−x2.5;0≤x<5 y2−1.5(x−3)(x−3);5≤x<10 yx/2−1.5;10≤x<20 【输入】 一个浮点数N(0≤N<20)。 【输出】 输出 N 对应的分段函数值&#xff1a;f(N)。结果保留到…