Поэтому я использую 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, которые я использую:
- Титан: 1.8.0 (14.11.11 10:39 1012866 ...) (непрерывная интеграция
build)
- Joli.js: последний из github
- Android SDK: 1.6 API
Есть идеи, как мне лучше отладить или даже исправить этот сбой?
Полная трассировка стека выглядит следующим образом:
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