admin管理员组文章数量:1564181
平台:msm8953_64
Android 7.1.2
Ubuntu 16.04
第一步,获取输入输入法
(1)到讯飞输入法官网下载xxx.apk文件
(2)在packages/apps 目录下新建FlyIMEjackw目录,该目录名字后面要用到
(3)将输入法xxx.apk文件拷贝到FlyIMEjackw目录
(4) mv xxx.apk xxx.zip
unzip xxx.zip
第二步 将输入法加入到系统编译中
(1)在FlyIMEjackw目录下,创建Android.mk文件,把下面内容添加到Android.mk文件
#add by jackw 20180908 for add FLYIME inputmethod
PREBUILT_PATH := $(call my-dir)
LOCAL_PATH := $(PREBUILT_PATH)
include $(CLEAR_VARS)
LOCAL_MODULE := FlyIMEjackw
LOCAL_MODULE_CLASS := APPS
#LOCAL_CERTIFICATE := platform
LOCAL_MODULE_TAGS := optional
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_MODULE_SUFFIX := .apk
LOCAL_SRC_FILES := FlyIMEjackw.apk
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/system/app
LOCAL_PREBUILT_JNI_LIBS :=\
@lib/armeabi/libcom_iflytek_inputmethod_mmp.so \
@lib/armeabi/libcom_iflytek_inputmethod_ocr.so \
@lib/armeabi/libcom_iflytek_inputmethod_setting.so \
@lib/armeabi/libcom_iflytek_inputmethod_thirdbkservices.so \
@lib/armeabi/libcom_iflytek_inputmethod_translate.so \
@lib/armeabi/libdexopt.so \
@lib/armeabi/libencdec-jni-v1.so \
@lib/armeabi/liblwl.so \
@lib/armeabi/libMetaVAD-v1.so \
@lib/armeabi/libmsc-v8.so \
@lib/armeabi/libnalsocket.so \
@lib/armeabi/libNativeCrashCollect.so \
@lib/armeabi/libsmartaiwrite-jni-v30.so \
@lib/armeabi/libvadLib-v5.so \
@lib/armeabi/libvipfont.so
include $(BUILD_PREBUILT)
(2)build/target/product/core.mk 在PRODUCT_PACKAGES += \的最后加入需要编译的APPS目录FlyIMEjackw
PRODUCT_PACKAGES += \
BasicDreams \
BlockedNumberProvider \
BookmarkProvider \
Browser2 \
Calendar \
CalendarProvider \
CaptivePortalLogin \
CertInstaller \
Contacts \
DeskClock \
DocumentsUI \
DownloadProviderUi \
Email \
ExactCalculator \
Exchange2 \
ExternalStorageProvider \
FusedLocation \
InputDevices \
KeyChain \
Keyguard \
Launcher2 \
ManagedProvisioning \
MtpDocumentsProvider \
PicoTts \
PacProcessor \
libpac \
PrintSpooler \
PrintRecommendationService \
ProxyHandler \
QuickSearchBox \
Settings \
SharedStorageBackup \
StorageManager \
Telecom \
TeleService \
VpnDialogs \
MmsService \
FlyIMEjackw
第三步,修改系统默认输入法
各种输入法的ID
百度:com.baidu.input/.ImeService
讯飞:com.iflytek.inputmethod/.FlyIME
腾讯:com.tencent.qqpinyin/.QQPYInputMethodService
谷歌:com.google.android.inputmethod.pinyin/.PinyinIME
搜狗:com.sohu.inputmethod.sogou/.SogouIME
触宝:com.cootek.smartinput5/.TouchPalIME
(1) frameworks/base/packages/SettingsProvider/res/values/defaults.xml在下面2行原始代码中添加输入法ID
(输入法ID)
(输入法ID)
添加后为
com.iflytek.inputmethod.FlyIME
com.iflytek.inputmethod.FlyIME
下面是我在defaults.xml添加后的可用代码:
com.iflytek.inputmethod.FlyIME
com.iflytek.inputmethod.FlyIME
com.iflytek.inputmethod.FlyIME
(2)frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java 增加下面1行代码
//add by jackw 20180908 for add zh_cn inputmethod
loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,R.string.default_input_method);
第4步,make -j12 编译
在target/product/msm8953_64/system/app目录下,有FlyIMEjackw目录,
ls FlyIMEjackw
FlyIMEjackw.apk oat
版权声明:本文标题:android+编译+输入法+apk,原生Android7.1 添加第三方输入法 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1727480815a1116804.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论