我为我的Ionic应用程序开发了一个Cordova插件,在访问时会抛出以下错误:
java.lang.UnstatisfiedLinkError:dalvik.system.PathClassLoader [DexPathList [[zip file“/data/app/io.ionic.starter-2/base.apk”],nativeLibraryDirectories = [/ data / app / io.ionic . starter-2 / lib / arm /,/ vendor / lib,/ system / lib]]]找不到“libserial_port.so”
我把 libserial_port.so
文件放在libs文件夹中,在这条路径上: pluginName\src\android\libs\armeabi\libserial_port.so
.
然后,在 plugin.xml
我试图将它作为资源文件加载:
<resource-file src="src/android/libs/armeabi/libserial_port.so" target="src/android/libs"/>
并作为lib文件:
<lib-file src="src/android/libs/armeabi/libserial_port.so" />
但是,错误仍然出现 . 我该怎么做才能让应用程序看到该库?
1 回答
我可以通过将libs重命名为jniLibs来解决此问题 .
更改
<resource-file src="src/android/libs/armeabi/libserial_port.so" target="libs/armeabi/libserial_port.so">
至
<resource-file src="src/android/libs/armeabi/libserial_port.so" target="jniLibs/armeabi/libserial_port.so">
也阅读类似问题的答案Unable to run Android app after updating to cordova android 7.0.0