所以我使用joli.js连接到我的SQLLite数据库,一切都在iOS上完美运行。然而,在Android上,并没有那么多。一旦视图加载,它就会崩溃。这是堆栈跟踪的有趣部分:
E/dalvikvm( 731): Could not find method android.database.AbstractWindowedCursor.isFloat, referenced from method ti.modules.titanium.database.TiResultSetProxy.internalGetField
W/dalvikvm( 731): VFY: unable to resolve virtual method 272: Landroid/database/AbstractWindowedCursor;.isFloat (I)Z
W/dalvikvm( 731): VFY: rejecting opcode 0x6e at 0x0022
W/dalvikvm( 731): VFY: rejected Lti/modules/titanium/database/TiResultSetProxy;.internalGetField (II)Ljava/lang/Object;
W/dalvikvm( 731): Verifier rejected class Lti/modules/titanium/database/TiResultSetProxy;
以下是代码行,如果注释掉,则会删除崩溃:
var teamData = MyApp.Models.TeamModel.all();
以下是我正在使用的SDK版本:
关于如何更好地调试甚至修复此崩溃的任何想法?
完整的堆栈跟踪如下:
E/dalvikvm( 731): Could not find method android.database.AbstractWindowedCursor.isFloat, referenced from method ti.modules.titanium.database.TiResultSetProxy.internalGetField
W/dalvikvm( 731): VFY: unable to resolve virtual method 272: Landroid/database/AbstractWindowedCursor;.isFloat (I)Z
W/dalvikvm( 731): VFY: rejecting opcode 0x6e at 0x0022
W/dalvikvm( 731): VFY: rejected Lti/modules/titanium/database/TiResultSetProxy;.internalGetField (II)Ljava/lang/Object;
W/dalvikvm( 731): Verifier rejected class Lti/modules/titanium/database/TiResultSetProxy;
E/KrollCallback( 731): (kroll$5: file:///android_asset/Resources/app.js) [48,16812] Unhandled throwable, invocation:[callMethod UI.Window.UI.Window:event:open null], message: ti.modules.titanium.database.TiResultSetProxy
E/KrollCallback( 731): java.lang.VerifyError: ti.modules.titanium.database.TiResultSetProxy
E/KrollCallback( 731): at ti.modules.titanium.database.TiDatabaseProxy.execute(TiDatabaseProxy.java:111)
E/KrollCallback( 731): at ti.modules.titanium.database.TiDatabaseProxyBindingGen$4.invoke(TiDatabaseProxyBindingGen.java:207)
E/KrollCallback( 731): at org.appcelerator.kroll.KrollMethod.call(KrollMethod.java:51)
E/KrollCallback( 731): at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1701)
E/KrollCallback( 731): at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:854)
E/KrollCallback( 731): at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
E/KrollCallback( 731): at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:426)
E/KrollCallback( 731): at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3177)
E/KrollCallback( 731): at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:162)
E/KrollCallback( 731): at org.appcelerator.titanium.kroll.KrollCallback.callSync(KrollCallback.java:139)
E/KrollCallback( 731): at org.appcelerator.titanium.kroll.KrollCallback$1.run(KrollCallback.java:164)
E/KrollCallback( 731): at android.os.Handler.handleCallback(Handler.java:587)
E/KrollCallback( 731): at android.os.Handler.dispatchMessage(Handler.java:92)
E/KrollCallback( 731): at android.os.Looper.loop(Looper.java:123)
E/KrollCallback( 731): at org.appcelerator.titanium.kroll.KrollHandlerThread.run(KrollHandlerThread.java:86)
W/dalvikvm( 731): threadid=29: thread exiting with uncaught exception (group=0x4001aa28)
E/TiUncaughtHandler( 731): (kroll$5: file:///android_asset/Resources/app.js) [48,16860] Sending event: exception on thread: kroll$5: file:///android_asset/Resources/app.js msg:java.lang.VerifyError: ti.modules.titanium.database.TiResultSetProxy; Titanium 1.8.0,2011/11/14 10:39,1012866
E/TiUncaughtHandler( 731): java.lang.VerifyError: ti.modules.titanium.database.TiResultSetProxy
E/TiUncaughtHandler( 731): at ti.modules.titanium.database.TiDatabaseProxy.execute(TiDatabaseProxy.java:111)
E/TiUncaughtHandler( 731): at ti.modules.titanium.database.TiDatabaseProxyBindingGen$4.invoke(TiDatabaseProxyBindingGen.java:207)
E/TiUncaughtHandler( 731): at org.appcelerator.kroll.KrollMethod.call(KrollMethod.java:51)
E/TiUncaughtHandler( 731): at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1701)
E/TiUncaughtHandler( 731): at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:854)
E/TiUncaughtHandler( 731): at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
E/TiUncaughtHandler( 731): at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:426)
E/TiUncaughtHandler( 731): at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3177)
E/TiUncaughtHandler( 731): at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:162)
E/TiUncaughtHandler( 731): at org.appcelerator.titanium.kroll.KrollCallback.callSync(KrollCallback.java:139)
E/TiUncaughtHandler( 731): at org.appcelerator.titanium.kroll.KrollCallback$1.run(KrollCallback.java:164)
E/TiUncaughtHandler( 731): at android.os.Handler.handleCallback(Handler.java:587)
E/TiUncaughtHandler( 731): at android.os.Handler.dispatchMessage(Handler.java:92)
E/TiUncaughtHandler( 731): at android.os.Looper.loop(Looper.java:123)
E/TiUncaughtHandler( 731): at org.appcelerator.titanium.kroll.KrollHandlerThread.run(KrollHandlerThread.java:86)
E/AndroidRuntime( 731): Uncaught handler: thread kroll$5: file:///android_asset/Resources/app.js exiting due to uncaught exception
E/AndroidRuntime( 731): java.lang.VerifyError: ti.modules.titanium.database.TiResultSetProxy
E/AndroidRuntime( 731): at ti.modules.titanium.database.TiDatabaseProxy.execute(TiDatabaseProxy.java:111)
E/AndroidRuntime( 731): at ti.modules.titanium.database.TiDatabaseProxyBindingGen$4.invoke(TiDatabaseProxyBindingGen.java:207)
E/AndroidRuntime( 731): at org.appcelerator.kroll.KrollMethod.call(KrollMethod.java:51)
E/AndroidRuntime( 731): at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1701)
E/AndroidRuntime( 731): at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:854)
E/AndroidRuntime( 731): at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
E/AndroidRuntime( 731): at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:426)
E/AndroidRuntime( 731): at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3177)
E/AndroidRuntime( 731): at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:162)
E/AndroidRuntime( 731): at org.appcelerator.titanium.kroll.KrollCallback.callSync(KrollCallback.java:139)
E/AndroidRuntime( 731): at org.appcelerator.titanium.kroll.KrollCallback$1.run(KrollCallback.java:164)
E/AndroidRuntime( 731): at android.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime( 731): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime( 731): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 731): at org.appcelerator.titanium.kroll.KrollHandlerThread.run(KrollHandlerThread.java:86)
I/Process ( 52): Sending signal. PID: 731 SIG: 3