我一直在尝试将Pusher Android模块集成到我的应用中。经过多次努力,我能够编译模块并将其与我的应用程序打包在一起。但是现在当我尝试在我的应用程序中要求添加模块时,我收到RunTime错误。 我对Android的经验有限。有人可以说我在这里做错了什么。 环境:
日志:
[ERROR] : TiApplication: (KrollRuntimeThread) [1375,1375] Sending event: exception on thread: KrollRuntimeThread msg:java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1306]: 37 cannot locate '__cxa_end_cleanup'...
[ERROR] : TiApplication: ; Titanium 3.3.0,2014/07/11 12:36,787cd39
[ERROR] : TiApplication: java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1306]: 37 cannot locate '__cxa_end_cleanup'...
[ERROR] : TiApplication:
[ERROR] : TiApplication: at java.lang.Runtime.loadLibrary(Runtime.java:370)
[ERROR] : TiApplication: at java.lang.System.loadLibrary(System.java:535)
[ERROR] : TiApplication: at org.appcelerator.kroll.runtime.v8.V8Runtime.loadExternalModules(V8Runtime.java:114)
[ERROR] : TiApplication: at org.appcelerator.kroll.runtime.v8.V8Runtime.initRuntime(V8Runtime.java:81)
[ERROR] : TiApplication: at org.appcelerator.kroll.KrollRuntime.doInit(KrollRuntime.java:175)
[ERROR] : TiApplication: at org.appcelerator.kroll.KrollRuntime$KrollRuntimeThread.run(KrollRuntime.java:109)
[ERROR] : AndroidRuntime: FATAL EXCEPTION: KrollRuntimeThread
[ERROR] : AndroidRuntime: java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1306]: 37 cannot locate '__cxa_end_cleanup'...
[ERROR] : AndroidRuntime:
[ERROR] : AndroidRuntime: at java.lang.Runtime.loadLibrary(Runtime.java:370)
[ERROR] : AndroidRuntime: at java.lang.System.loadLibrary(System.java:535)
[ERROR] : AndroidRuntime: at org.appcelerator.kroll.runtime.v8.V8Runtime.loadExternalModules(V8Runtime.java:114)
[ERROR] : AndroidRuntime: at org.appcelerator.kroll.runtime.v8.V8Runtime.initRuntime(V8Runtime.java:81)
[ERROR] : AndroidRuntime: at org.appcelerator.kroll.KrollRuntime.doInit(KrollRuntime.java:175)
[ERROR] : AndroidRuntime: at org.appcelerator.kroll.KrollRuntime$KrollRuntimeThread.run(KrollRuntime.java:109)
答案 0 :(得分:1)
您应该检查NDK路径并添加编译器选项“-lsupc ++”,因为您的代码可能正在使用C ++异常机制并在某处调用__cxa_end_cleanup。 lsupc ++(libsupc ++。a)
另外,你应该添加-fno-rtti以避免其他可能遇到的编译错误,这是因为在类内存布局中没有动态类型信息编译所有android的C ++类。
我希望我的回答可以帮助你;)