【问题标题】:Add .so files to Cordova Plugin将 .so 文件添加到 Cordova 插件
【发布时间】:2018-07-17 20:27:33
【问题描述】:

我为我的 Ionic 应用程序开发了一个 Cordova 插件,访问时会引发以下错误:

java.lang.UnstatisfiedLinkError: dalvik.system.PathClassLoader [DexPathList [[zip 文件“/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" />

但是,错误仍然出现。我该怎么做才能让应用看到那个库?

【问题讨论】:

  • 我在使用 Cordova 8 (Cordova-Android 7) 后也遇到了同样的问题。你能解决吗?
  • @manjunathkallannavar 我也面临这个问题。您是否能够解决或解决该问题?
  • 我能够解决这个问题。在 jniLibs 和 lib 中添加 .so 文件,并根据您的 cordova 版本删除它们中的任何一个

标签: android cordova ionic2 cordova-plugins cordova-android


【解决方案1】:

我可以通过将库重命名为 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多