【问题标题】:libxml2 linking issueslibxml2 链接问题
【发布时间】:2011-07-06 16:10:53
【问题描述】:

我正在运行一个 Android 项目,它缺少我添加的库,但没有 libxml2 的 jar,我不断收到此链接错误:

源自 System.loadLibrary("xml2");

07-06 15:46:54.196: 错误/AndroidRuntime(322): 由: java.lang.UnsatisfiedLinkError: 找不到库 xml2 07-06 15:46:54.196: 错误/AndroidRuntime(322): 在 java.lang.Runtime.loadLibrary(Runtime.java:461) 07-06 15:46:54.196: 错误/AndroidRuntime(322): 在 java.lang.System.loadLibrary(System.java:557) 07-06 15:46:54.196: 错误/AndroidRuntime(322): at com.wiyun.engine.WiEngineDemos.(WiEngineDemos.java:49)

我需要将 .so 添加到我的 Android 项目配置中吗?如何?谢谢。

【问题讨论】:

    标签: android linker android-ndk static-libraries libxml2


    【解决方案1】:

    libxml2 是 C 库,而不是 java 库,除非您找到了已移植到 java 的版本。你需要编译它然后使用Android的NDK来访问它或者你需要尝试找到一个java端口。

    【讨论】:

    • 库编译完成,是一个类似win中的.dll的.so文件,只是由于某种原因无法链接,一定是链接器有问题,这是来自中国公司的所以那里都是我通过使用 UTF-8 解决的各种问题,但由于某种原因我无法链接...如何在 apk 中添加和链接 .so 文件?
    • 听起来你需要使用 NDK。
    • 我正在使用 NDK。那不是问题,问题在于将 .so 文件与我的项目链接。我没有编译任何本机代码。只是链接到共享库。
    【解决方案2】:

    07-06 15:46:54.196: ERROR/AndroidRuntime(322): Caused by: java.lang.UnsatisfiedLinkError: Library xml2 not found

    在我看来,您的图书馆根本找不到。您确定 libxml2.so 包含在您的 APK 中并被复制到 /data/data/your.package.name/lib/?

    对于要包含在 APK 中的 .so,它通常需要位于 obj/local/armeabi 下(如果您的项目下有 jni 文件夹并使用 Android.mk / ndk-build 系统,它将自动位于“安装”在这里)

    【讨论】:

      【解决方案3】:

      这似乎是 Eclipse 的问题...如果有人遇到同样的问题,他们应该简单地重新启动 Eclipse,并检查所有 NDK 配置是否设置正确,例如名称匹配等...

      【讨论】:

        猜你喜欢
        • 2014-02-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-29
        • 1970-01-01
        • 1970-01-01
        • 2018-10-25
        • 1970-01-01
        相关资源
        最近更新 更多