Java LoadLibrary中的错误:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw

Java LoadLibrary中的错误:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw,java,android,android-ndk,loadlibrary,Java,Android,Android Ndk,Loadlibrary,概述 正在尝试使用Android NDK r9d编译lib.so,以便在我的Android应用程序中使用本机代码。由于lib.so是一个有很多依赖关系的第三方,我没有做过典型的NDK项目(使用Android.mk等等);相反,我使用了lib源代码附带的标准compile.sh,并对其进行了相关更改,以使用NDK工具链。 最后,lib.so编译时没有错误 问题 当我测试lib.so时,在我的Android应用程序中,我会出现“罕见”(对我来说)的错误。这里是LogCat(如果有人知道如何“扩展”…

概述
正在尝试使用Android NDK r9d编译lib.so,以便在我的Android应用程序中使用本机代码。由于lib.so是一个有很多依赖关系的第三方,我没有做过典型的NDK项目(使用Android.mk等等);相反,我使用了lib源代码附带的标准compile.sh,并对其进行了相关更改,以使用NDK工具链。
最后,lib.so编译时没有错误

问题
当我测试lib.so时,在我的Android应用程序中,我会出现“罕见”(对我来说)的错误。这里是LogCat(如果有人知道如何“扩展”…15条“消息,我会这样做):

我发现或做过的事情

  • 我在谷歌上搜索了身份证。。。它似乎与/usr/lib32/libstdc++有关。我只知道这些
  • 我在谷歌上搜索了错误,有时人们会说这与arch有关;我通常将lib.so放在libs/armeabi中,但我也尝试过libs/armeabi-v7a,结果相同
更多详细信息

  • 为了编译lib.so,我使用Ubuntu 12.10 x86和Android NDK r9d
  • 对于Android应用程序的编程,我使用Windows8x64下的EclipseADT
  • 为了测试Android应用程序,我使用手机三星Galaxy S3(无模拟器)

使用
c++过滤器解码损坏的名称
。问题标题中的符号解码为
std::basic\u string::resize(unsigned int,wchar\u t)
。使搜索更容易。上面已经显示了“…15个以上”;谢谢你的回答。我已经搜索了关于std::basic\u字符串。。。与NDK或Android相关的错误,我找不到任何有用的东西。看起来我需要使用或重建一个特定的libstdc++并将其附加到我的lib.so中,但我不知道怎么做。我真的很想在这个话题上得到更多的帮助:(还有关于“…15更多”谢谢你的回答。我不知道
04-29 11:51:47.690: E/AndroidRuntime(10029): FATAL EXCEPTION: main
04-29 11:51:47.690: E/AndroidRuntime(10029): java.lang.ExceptionInInitializerError
04-29 11:51:47.690: E/AndroidRuntime(10029):    at com.shalafisoft.mediatabplus.AboutActivity.onCreate(AboutActivity.java:37)
04-29 11:51:47.690: E/AndroidRuntime(10029):    at android.app.Activity.performCreate(Activity.java:5206)
04-29 11:51:47.690: E/AndroidRuntime(10029):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1083)
04-29 11:51:47.690: E/AndroidRuntime(10029):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2064)
04-29 11:51:47.690: E/AndroidRuntime(10029):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125)
04-29 11:51:47.690: E/AndroidRuntime(10029):    at android.app.ActivityThread.access$600(ActivityThread.java:140)
04-29 11:51:47.690: E/AndroidRuntime(10029):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)
04-29 11:51:47.690: E/AndroidRuntime(10029):    at android.os.Handler.dispatchMessage(Handler.java:99)
04-29 11:51:47.690: E/AndroidRuntime(10029):    at android.os.Looper.loop(Looper.java:137)
04-29 11:51:47.690: E/AndroidRuntime(10029):    at android.app.ActivityThread.main(ActivityThread.java:4898)
04-29 11:51:47.690: E/AndroidRuntime(10029):    at java.lang.reflect.Method.invokeNative(Native Method)
04-29 11:51:47.690: E/AndroidRuntime(10029):    at java.lang.reflect.Method.invoke(Method.java:511)
04-29 11:51:47.690: E/AndroidRuntime(10029):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
04-29 11:51:47.690: E/AndroidRuntime(10029):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
04-29 11:51:47.690: E/AndroidRuntime(10029):    at dalvik.system.NativeStart.main(Native Method)
04-29 11:51:47.690: E/AndroidRuntime(10029): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1307]:  1918 cannot locate '_ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw'...
04-29 11:51:47.690: E/AndroidRuntime(10029):    at java.lang.Runtime.loadLibrary(Runtime.java:370)
04-29 11:51:47.690: E/AndroidRuntime(10029):    at java.lang.System.loadLibrary(System.java:535)
04-29 11:51:47.690: E/AndroidRuntime(10029):    at com.shalafisoft.mediainfo.MediaInfoLib.<clinit>(MediaInfoLib.java:6)
04-29 11:51:47.690: E/AndroidRuntime(10029):    ... 15 more
public class MediaInfoLib {

    static {
        System.loadLibrary("mediainfoMIO");
    }

    public native String pruebaJNI();
}