2011-01-03 2 views
2

На самом деле у меня есть два связанных вопроса, касающихся Android-ошибок. Я выпустил обновление приложения, которое работало нормально раньше и работает в текущей версии на моем Nexus One, G1 и эмуляторе. Однако с момента последнего обновления я получаю много журналов ошибок через консоль Android Market, и я не могу воспроизвести ошибку. Приложение довольно просто с двумя действиями, поэтому проверить приложение достаточно просто. Однако часто бывают ошибки, которые я не нашел перед выпуском.Проблема с тестированием и отладки приложений для Android

Итак, первые вопросы: есть ли способ проверить больше deaply?

Мой второй вопрос касается конкретной ошибки. Кажется, что проблема с базой данных SQLite, которая не может найти таблицу. Я думаю, что база данных не может быть создана в первую очередь, таким образом, ошибка. Вот трассировка стека:

BTW. С жалобами было три пользователя с Desire HD. Известна ли ошибка?

java.lang.RuntimeException: Unable to resume activity {XXX/XXX}: android.database.sqlite.SQLiteException: no such table: main_ger: , while compiling: SELECT _id, code, area FROM main_ger 
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3394) 
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3415) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2859) 
at android.app.ActivityThread.access$2300(ActivityThread.java:136) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2179) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:143) 
at android.app.ActivityThread.main(ActivityThread.java:5068) 
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:858) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: android.database.sqlite.SQLiteException: no such table: main_ger: , while compiling: SELECT _id, code, area FROM main_ger 
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.SQLiteQuery.<init>(SQLiteQuery.java:46) 
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:53) 
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1417) 
at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1301) 
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1256) 
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1336) 
at XX.XXX.DataBaseHelper.fetchAll(DataBaseHelper.java:190) 
at XX.XXX.fillData(mainactivity.java:240) 
at XX.XXX.onResume(mainactivity.java:522) 
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1238) 
at android.app.Activity.performResume(Activity.java:3904) 
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3384) 
... 12 more 
+0

Вы пытались полностью удалить приложение с телефона развития и установить его заново с нуля? Может быть, ваш метод создания базы данных неверен? –

+0

Да, попробовал это несколько раз ... – j7nn7k

ответ

2

Похоже, есть еще некоторые люди с этой проблемой:

http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/comment-page-4/#comment-43655

Database handling stoped working on Android 2.2.1 (Desire HD 1.72.405.3)

http://forum.xda-developers.com/showthread.php?t=895942

The Dev в следующей статье, похоже, нашел решение. Я попробую скоро и дам вам знать. Есть ли кто-нибудь с желанием hd, который мог бы помочь мне проверить его?

http://www.anddev.org/networking-database-problems-f29/missing-table-in-sqlite-with-specific-version-of-desire-hd-t50364.html

+0

Последнее упомянутое решение сработало ... – j7nn7k

+0

Это не работает для меня. Кому-нибудь повезло? –

0

Да, Android поддерживает автоматическое тестирование модулей. Пожалуйста, обратитесь к этой статье:
Android Developer Reference: Testing Fundamentals

Что касается SQLLite ошибка, то, что заставляет вас думать, что была предпринята попытка создать базу данных? Разве это не вызвало бы исключение? Вы проверяете наличие базы данных и ее создание, если это не происходит, когда ваша деятельность возобновляется? И воссоздаете ли вы таблицы, если они не существуют?

+0

Да Я пытался защитить ошибку при создании базы данных с помощью исключений. Но, как я уже сказал, я не могу повторить ошибку. Поэтому я могу только догадываться, что могло бы произойти ... – j7nn7k

1

Да, это известная ошибка .... У меня есть Desire HD, но она не стерта, поэтому я не могу проверить, что происходит внутри FS. (папка с данными). Мой logcat это то же самое :(

+0

У вас тоже проблемы с другими приложениями? – j7nn7k

1

У нас есть такая же проблема. Мы получаем в 5 раз в день от наших пользователей ответы на эту проблему. Наши приложения работают около года, и мы никогда не сталкивались с этой проблемой до тех пор, пока . Desire HD появился на рынке

+0

Пожалуйста, сообщите нам, если вы указали причину. – j7nn7k

Смежные вопросы