MTK 怎么把apk自带的so文件编译到rom里边
一般情况下,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