Android编译mk文件引入三方jar、aar、so

引入aar:

LOCAL_STATIC_JAVA_AAR_LIBRARIES := okayrom-lib-http-1.1.0.9 \

引入jar:

#当前模块依赖的 Java 静态库 为引用jar库的别名,可以随便取名,一般就是用库名称就可以了。
LOCAL_STATIC_JAVA_LIBRARIES := haha \ 

##############################################
include $(CLEAR_VARS)

#作为预编译库的引用对象  指定prebuilt java库规则,格式为:别名:jar文件的完整路径,这里的别名就是LOCAL_STATIC_JAVA_LIBRARIES所取的名字。
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES :=  haha:libs/haha.jar \                                   
                                       http-1.1.0.9:libs/http-1.1.0.9.aar \                                      

#BUILD_MULTI_PREBUILT 生成对象作为预编译库。

include $(BUILD_MULTI_PREBUILT)

 

引入三方so:

include $(CLEAR_VARS)

LOCAL_MODULE := libtensorflowlite_jni
LOCAL_SRC_FILES := libs/libtensorflowlite_jni.so
include $(PREBUILT_SHARED_LIBRARY)

 

需要注意的是引入so需要刷一下system.img,处理报错:

12-05 10:15:54.108  2074  2074 E linker  : library "/system/lib64/libtensorflowlite_jni.so" ("/system/lib64/libtensorflowlite_jni.so") needed or dlopened by "/system/lib64/libnativeloader.so" is not accessible for the namespace: [name="classloader-namespace", ld_library_paths="", default_library_paths="/data/app/com.android.settings-2/base.apk!/lib/arm64-v8a", permitted_paths="/data:/mnt/expand:/data/data/com.android.settings"]
12-05 10:15:54.111  2074  2074 E linker  : library "/system/lib64/libtensorflowlite_jni.so" ("/system/lib64/libtensorflowlite_jni.so") needed or dlopened by "/system/lib64/libnativeloader.so" is not accessible for the namespace: [name="classloader-namespace", ld_library_paths="", default_library_paths="/data/app/com.android.settings-2/base.apk!/lib/arm64-v8a", permitted_paths="/data:/mnt/expand:/data/data/com.android.settings"]
12-05 10:15:54.112  2074  2074 E art     : No implementation found for long org.tensorflow.lite.NativeInterpreterWrapper.createErrorReporter(int) (tried Java_org_tensorflow_lite_NativeInterpreterWrapper_createErrorReporter and Java_org_tensorflow_lite_NativeInterpreterWrapper_createErrorReporter__I)
--------- beginning of crash
12-05 10:15:54.114  2074  2074 E AndroidRuntime: FATAL EXCEPTION: main
12-05 10:15:54.114  2074  2074 E AndroidRuntime: Process: com.android.settings, PID: 2074
12-05 10:15:54.114  2074  2074 E AndroidRuntime: java.lang.UnsatisfiedLinkError: No implementation found for long org.tensorflow.lite.NativeInterpreterWrapper.createErrorReporter(int) (tried Java_org_tensorflow_lite_NativeInterpreterWrapper_createErrorReporter and Java_org_tensorflow_lite_NativeInterpreterWrapper_createErrorReporter__I)
12-05 10:15:54.114  2074  2074 E AndroidRuntime:     at org.tensorflow.lite.NativeInterpreterWrapper.createErrorReporter(Native Method)
12-05 10:15:54.114  2074  2074 E AndroidRuntime:     at org.tensorflow.lite.NativeInterpreterWrapper.<init>(NativeInterpreterWrapper.java:59)
12-05 10:15:54.114  2074  2074 E AndroidRuntime:     at org.tensorflow.lite.Interpreter.<init>(Interpreter.java:223)
 

解决方案:

1.刷编译成功后刷system.img

2.在/system/etc/public.libraries.txt中添加so,先pull出来,修改完push一下重启即可。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值