今天把tensorflow库加入一个安卓工程,运行起来没有问题,但是跑起来却报了下面这个错:
java.lang.UnsatisfiedLinkError: dlopen failed: library "../../../../libs/arm64-v8a/libtensorflowlite_plant.so" not found: needed by /data/app/~~HAZWHMN7hKIAkxXBFifjCw==/com.example.reg-vFQxyoEwJZis9FQCRJjQGg==/base.apk!/lib/arm64-v8a/libfilters.so in namespace classloader-namespace
at java.lang.Runtime.loadLibrary0(Runtime.java:1087)
at java.lang.Runtime.loadLibrary0(Runtime.java:1008)
at java.lang.System.loadLibrary(System.java:1664)
很奇怪,之前移植也没有报错,怎么今天突然来了这样一个错误。
我首先想到的是libtensorflowlite_plant.so
这个库没有打包到apk中,于是我把apk解压,发现apk中有这个库,那就排除了这个原因。
然后我发现报错的这个路径优点奇怪,为什么是../../../../libs/arm64-v8a/libtensorflowlite_plant.so
,而不是libtensorflowlite_plant.so
找不到,按理说lib底下的so库都是同一目录,于是猜测可能是链接路径不对,经过一番查找终于知道了原因,因为libtensor