我的安卓应用的一些用户出现了Unsatisfied Link Error错误。

3

为什么只有一部分顾客遇到连接错误,而在大多数情况下连接是完好无损的?

java.lang.UnsatisfiedLinkError: Couldn't load Foo: findLibrary returned null

我以前读到过这个问题,但找不到解决方法。有什么想法吗?谢谢。
编辑:Android.mk
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

# disable thumb mode
LOCAL_ARM_MODE := arm

LOCAL_MODULE := Foo

#-Wno-psabi to remove warning about GCC 4.4 va_list warning
LOCAL_CFLAGS := -DANDROID_NDK -Wno-psabi -Wno-write-strings

LOCAL_DEFAULT_CPP_EXTENSION := cpp

LOCAL_SRC_FILES := \
    source1.cpp \
    source2.c

LOCAL_LDLIBS := -lGLESv1_CM -ldl -llog -lz

include $(BUILD_SHARED_LIBRARY)
1个回答

3
可能的原因之一是您构建了适用于 ARM v7(即使用 APP_ABI=armeabi-v7a)的库,但未针对 ARM v6 (APP_ABI=armeabi) 进行构建。但也许您的一些客户正在使用 MIPS 或 x86 - 动力设备?
如果这些解释不符合要求,请提供更多信息,例如显示您的 Android.mkApplication.mk 文件。

好的,我已将makefile添加到我的帖子中。 - user973224
你的 Android.mk 只为 arm 构建。你确定投诉不是来自 MIPS 设备(在中国非常流行)吗?或者他们可能有 1.6 “甜甜圈”设备? - Alex Cohn
这里有一份关于类似问题的报告。如果你同时构建armeabiarmeabi-v7a库,也许你的问题也会消失? - Alex Cohn
如果你的应用只有armv7a二进制文件,那么Google Play肯定会过滤掉MIPS设备,不是吗? - Bram
Google Play也会过滤掉1.6设备。但即使设备不兼容,仍然可以通过“侧载”APK并进行安装。 - Alex Cohn
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接