I have an app on the Android Market that’s throwing an exception which I’ve made a couple of attempts to patch. Another stack trace for the same problem recently showed up, and it’s unclear to me from trace which version was being run.
The only indication of version is this:
“v1.0”
This corresponds to the Version Name in the the manifest, but it could conceivably correspond to the first versionCode that I uploaded, which was 1. Any idea which which one it is?
(It would be really nice of the version code were provided, because that must be increased before you can upload)
Here’s the trace:
v1.0
Aug 9, 2011 3:28:11 AM
1 reports/week
1 reports
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.kanjisoft.jlpt5.free/com.jlptquiz.app.StartActivity}: android.database.sqlite.SQLiteException: no such table: word_review_schedule: , while compiling: insert into word_review_schedule(_id, last_review_date,next_review_date) values (?, ?, ?)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2787)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2803)
at android.app.ActivityThread.access$2300(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2136)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:144)
at android.app.ActivityThread.main(ActivityThread.java:4937)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.database.sqlite.SQLiteException: no such table: word_review_schedule: , while compiling: insert into word_review_schedule(_id, last_review_date,next_review_date) values (?, ?, ?)
at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:91)
at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:64)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:80)
at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:36)
at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1212)
at com.jlptquiz.app.DataBaseHelper.openDataBase(DataBaseHelper.java:271)
at com.jlptquiz.app.DataBaseHelper.createDB(DataBaseHelper.java:104)
at com.jlptquiz.app.InitUtils.initializeWordGroupings(InitUtils.java:421)
at com.jlptquiz.app.InitUtils.initialize(InitUtils.java:87)
at com.jlptquiz.app.StartActivity.onCreate(StartActivity.java:81)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1069)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2751)
... 11 more
It is the version number (android:versionName).
You should increase this in parralel with your version code, although you have more granular control over the version number.
For instance you start with v1.0 you then make some bug fixes v1.1.1 you make further bug fixes v1.1.2 you add some new feature v1.2 you then overhaul the whole ui! v2.0
It’s your choice how you implement versioning but this is a simple example
Wikipedia has some decent knowledge for once: software versioning