Android预加载Apk时注意事项

1.对于Apk中存在依赖的so库时,编写预加载库mk文件时需要将Apk解压的库链接过来,否则就会出现找不到so或者找到so库但是无法正常使用的情况(系统apk查找库的方式是先查找链接库后查找system/lib目录下的库,且采用预加载库方式apk中依赖的库默认不链接,需要手动完成链接操作)。具体添加方法可以使用LOCAL_PREBUILT_JNI_LIBS属性来添加。

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := xxx //模块名字
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_TAGS := optional //user和debug版本都编译
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_PRIVILEGED_MODULE := false //安装在/system/app/目录下
LOCAL_CERTIFICATE := platform //使用系统签名
LOCAL_SRC_FILES := xxxx.apk //预加载apk名字
LOCAL_PREBUILT_JNI_LIBS := @lib/arm64-v8a/ //链接apk中的库,使用@可以直接链接
include $(BUILD_PREBUILT)

2.拷贝APK解压包中lib/arm64-v8a/目录下的64位的库到/system/ib64目录下(32位的使用armeabi-v7a,拷贝到/system/lib)

Android mk文件拷贝第三方库到系统编译目录_android mk 拷贝文件-CSDN博客

你可能感兴趣的:(Android随笔,android)