MTK 怎么把apk自带的so文件编译到rom里边

 我来答
好程序员
2017-03-18 · HTML5前端培训/大数据培训/Java
好程序员
好程序员是IT高端课程培训基地,从平凡到卓越,为梦想而拼搏。
向TA提问
展开全部

一般情况下,MTK 文档上面是有这个说明的,要把apk中的so文件,放到alps\vendor\mediatek\ckt72_wet_jb3\artifacts\out\target\product\ckt72_wet_jb3\system\lib 里边。注释  ckt72_wet_jb3 是项目名字,但是这里会有一个Bug。就是当你不再用第三方apk的时候,这个so文件依旧会打包进去到rom里边,如果你累计的so文件过大的话,rom就会变大,会影响内存运行的。这个时候,我们要想一个办法解决才行。

如图所示 建立这样的目录。lib里边放的是apk里边的so文件,Android.mk文件里面的内容如下

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := feizai
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES :=   $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED

PRODUCT_COPY_FILES +=  $(LOCAL_PATH)/lib/libabenchmark.so:system/lib/libabenchmark.so 
include $(BUILD_PREBUILT)

如果你apk的so文件不止一个,如下添加

PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/libem_aitalk5.so:system/lib/libem_aitalk5.so \
$(LOCAL_PATH)/libspeechmsc.so:system/lib/libspeechmsc.so \
$(LOCAL_PATH)/libttsaisound.so:system/lib/libttsaisound.so \
$(LOCAL_PATH)/libvadLib.so:system/lib/libvadLib.so \

0

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式