RK3568 Android 13 内置搜狗输入法小计

embedded/2025/1/15 12:45:19/

问:为什么写?

答:网上搜出来的都试过了,不行!下面直接上代码和注意事项!

首先到这个目录(/RK3568/Rockchip_Android13_SDK_Release/device/rockchip/rk356x/tl3568_evm/preinstall)下创建SogouIME文件夹,在SogouIME中添加如下内容

1.apk从哪里来的?网上随便下载的

2.Android.mk内容如下,lib/arm64-v8a/里面的内容不用照搬,因为你跟我下的搜狗的app肯定不是一个版本的,自己想办法把自己那版的so文件写上去

LOCAL_PATH := $(my-dir)include $(CLEAR_VARS)
LOCAL_MODULE := SogouIME
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_PATH := $(TARGET_OUT_ODM)/bundled_persist-app
LOCAL_REPLACE_PREBUILT_APK_INSTALLED := $(LOCAL_PATH)/SogouIME.apk
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_DEX_PREOPT := false
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_JNI_SHARED_LIBRARIES_ABI := arm64-v8aMY_LOCAL_PREBUILT_JNI_LIBS := \lib/arm64-v8a/libaffinity.so \lib/arm64-v8a/libc++_shared.so \lib/arm64-v8a/libcrash_collect.so \lib/arm64-v8a/libCtaApiLib.so \lib/arm64-v8a/libframesequence.so \lib/arm64-v8a/libframesequence_doutu.so \lib/arm64-v8a/libkoom-java.so \lib/arm64-v8a/libkwai-linker.so \lib/arm64-v8a/liblogan.so \lib/arm64-v8a/libluajava.so \lib/arm64-v8a/libmarsxlog.so \lib/arm64-v8a/libmmkv.so \lib/arm64-v8a/libnative-sec.so \lib/arm64-v8a/libopus_v1.so \lib/arm64-v8a/libostar.so \lib/arm64-v8a/libqmp.so \lib/arm64-v8a/libSGMtlgShell.so \lib/arm64-v8a/libsimple_vad.so \lib/arm64-v8a/libsimplevadwrapper.so \lib/arm64-v8a/libsogou_speex_nt_v01.so \lib/arm64-v8a/libSogouAgc_v1.so \lib/arm64-v8a/libsogouupdcore.so \lib/arm64-v8a/libtgpalite.so \lib/arm64-v8a/libtrace-canary.so \lib/arm64-v8a/libvivo_account_wave.so \lib/arm64-v8a/libweibosdkcore.so \lib/arm64-v8a/libwind.so \lib/arm64-v8a/libxgVipSecurity.so \lib/arm64-v8a/libxhook_lib.soMY_APP_LIB_PATH := $(TARGET_OUT_ODM)/bundled_persist-app/$(LOCAL_MODULE)/lib/$(LOCAL_JNI_SHARED_LIBRARIES_ABI)# Ensure that the target lib64 directory exists before copying files
LOCAL_POST_INSTALL_CMD := \mkdir -p $(TARGET_OUT)/lib64 && \$(foreach lib, $(MY_LOCAL_PREBUILT_JNI_LIBS), \cp -f $(LOCAL_PATH)/$(lib) $(TARGET_OUT)/lib64/$(notdir $(lib)); \)include $(BUILD_PREBUILT)

3.网上搜的那一圈缺的就是这个3,绝口不提需要创建lib这个目录是吧,绝口不提需要把apk解压出来的lib中的so文件放到这里面来

说一个成功的关键:相关的so文件是需要被复制到/system/lib64里面的,不然就算预装上了也运行不起会报错,代码如下

LOCAL_POST_INSTALL_CMD := \mkdir -p $(TARGET_OUT)/lib64 && \$(foreach lib, $(MY_LOCAL_PREBUILT_JNI_LIBS), \cp -f $(LOCAL_PATH)/$(lib) $(TARGET_OUT)/lib64/$(notdir $(lib)); \)

最后,希望对你有所帮助。


http://www.ppmy.cn/embedded/154100.html

相关文章

maven 下载依赖 jhash:2.1.2 和对应 jar 包

原文地址 前言 25年新的一年,那就先更新一篇技术文章吧,这个是这几天刚遇到的一个有意思的bug,记录分享一下 原因分析 在使用maven加载一个项目的时,发现maven的依赖一直无法解析,更换阿里云镜像和中央仓库都没办法…

android studio根据包名获取当前安装包信息

package com.example.myapplication2;import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.util.Log;/**** 获取版本信息*/ public class SystemHelper {/*** 获取本地软件版本号*/public stat…

2025年,华为认证HCIA、HCIP、HCIE 该如何选择?

眼看都到 2025 年啦,华为认证还吃香不? 把这问题摆在每个网络工程师跟前,答案可没那么容易说清楚。 到底考不考它值当不值当,重点在于您自己的职业规划,还有对行业走向的领会。 2025 年华为认证仍然值得一考&#…

pytorch张量分块投影示例代码

张量的投影操作 背景 张量投影 是深度学习中常见的操作,将输入张量通过线性变换映射到另一个空间。例如: Y=W⋅X+b 其中: X: 输入张量(形状可能为 (B,M,K),即批量维度、序列维度、特征维度)。W: 权重矩阵((K,N),将 K 维投影到 N 维)。b: 偏置向量(可选,(N,))。Y:…

SimpleFOC |SimpleFOC学习笔记汇总

在机器人领域,掌握无刷电机的控制相当于掌握机器人设计的“半壁江山”。这个年代,对个人来说学习一种新技术最好是通过开源项目了。通过开源项目快速将项目搭建起来,接着结合实践与理论才能真正掌握技术。 入门FOC,我认为最合适是…

开始使用Panuon开源界面库环境配置并手写VS2019高仿界面

1. Panuon环境配置 1.1. 通过Nuget 安装 Panuon.WPF.UI1.2. xaml引用命名空间1.3. using Panuon.WPF.UI; 2. VS2019 view 2.1. 设置窗体尺寸和title2.2. 添加静态资源 2.2.1. 什么是静态资源 2.3. 主Grid 2.3.1. 盒子模型2.3.2. 嵌套布局 3. 总结 1. Panuon环境配置 1.1. 通…

rclone,云存储备份和迁移的瑞士军刀,千字常文解析,附下载链接和安装操作步骤...

一、什么是rclone? rclone是一个命令行程序,全称:rsync for cloud storage。是用于将文件和目录同步到云存储提供商的工具。因其支持多种云存储服务的备份,如Google Drive、Amazon S3、Dropbox、Backblaze B2、One Drive、Swift、…

【python爬虫入门教程13--selenium的自动点击 --小小案例分享】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 《python爬虫入门教程12--selenium的安装与使用》 selenium就是一个可以实现python自动化的模块,上次我们更新了如何安装以及它的语法。同时我也更新了如何用爬虫…