这里以google的tensorflow库为例,在系统设置模块mk文件中引入,具体方式为:
1、声明编译so库
include $(CLEAR_VARS) LOCAL_MODULE := libtensorflowlite_jni LOCAL_SRC_FILES := libs/libtensorflowlite_jni.so include $(PREBUILT_SHARED_LIBRARY)
2、修改public.libraries.txt
adb pull /system/etc/public.libraries.txt
将libtensorflowlite_jni.so追加到txt末尾
adb push public.libraries.txt /system/etc/
3、重启设备
adb shell reboot
说明:
public.libraries.txt文件在源代码(7.1)中的路径为:
./vendor/qcom/proprietary/common/config/public.libraries.txt
在源代码中通过make systemimage就可以编译出system.img,将system.img刷入设备就可以实现设备上/system/etc/public.libraries.txt文件的更新。
关于mk文件中指定某类文件不被aapt压缩的指令:
LOCAL_AAPT_FLAGS := -0 "tflite" (aapt 帮助文档中有说明)