将.so文件添加到Cordova插件 [英] Add .so files to Cordova Plugin

查看:2473
本文介绍了将.so文件添加到Cordova插件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我为我的Ionic app开发了一个Cordova插件,在访问时会抛出以下错误:

I have developed a Cordova Plugin for my Ionic app, which throws the following error when accessed:


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

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]]] couldn't find "libserial_port.so"

我在libs文件夹中的 pluginName \\\ android \libs\armeabi \libserial_port.so

I've put libserial_port.so file in the libs folder, at this path: pluginName\src\android\libs\armeabi\libserial_port.so.

然后,在 plugin.xml 我试图将它作为资源文件加载:

Then, in plugin.xml I've tried to load it both as a resource file:

< resource-file src =src / android / libs / armeabi / libserial_port.sotarget =src / android / libs/>

以及作为lib文件:

< lib-file src =src / android / libs / armeabi / libserial_port.so/>

然而,错误仍然出现。如何让应用程序查看该库?

However, the error still appears. What shall I do for the app to see that library?

推荐答案

我可以通过将libs重命名为jniLibs来解决此问题。

I am able to resolve this issue by renaming libs to jniLibs.

更改

< resource-file src =src / android / libs /armeabi/libserial_port.so\"target =libs / armeabi / libserial_port.so>

to

< resource-file src =src / android / libs / armeabi / libserial_port.sotarget =jniLibs / armeabi / libserial_port.so>

也阅读类似问题的答案更新到cordova android 7.0.0后无法运行Android应用程序

also read my answer with similar issue Unable to run Android app after updating to cordova android 7.0.0

这篇关于将.so文件添加到Cordova插件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆