我一直在尝试将Pusher Android模块集成到我的应用中。经过许多努力,我得以编译该模块并将其与我的应用程序打包在一起。但是现在,当我尝试在应用程序中要求添加模块时,出现运行时错误。
我在Android方面的经验有限。有人可以建议我在这里做错什么吗?
环境:


应用类型:手机
钛SDK:3.3.0.GA
平台和版本:Android 16,
设备:Android仿真器
主机操作系统:Windows 7
钛工作室:3.3.0.201407100905
日志:

[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)

最佳答案

您应该检查NDK Path并添加编译器选项“ -lsupc ++”,因为您的代码可能正在使用C ++异常机制,并在某处调用__cxa_end_cleanup。 lsupc ++(libsupc ++。a)

另外,您应该添加-fno-rtti以避免其他可能遇到的编译错误,这是因为所有android的C ++类都是在类内存布局中编译时没有动态类型信息的。

希望我的回答对您有所帮助;)

10-07 19:37
查看更多