UPDATE: When I delete app storage, it starts to work. I don´t understand...
When I generate a signed APK for my project and I install it to my phone, app crashes. When I debug the app, it works correctly.
I use Android Studio 3 and I disabled instant run.
Using logcat, I get the following exception:
2019-01-15 19:19:30.594 7317-7317/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: me.agomezgz.bng.programa, PID: 7317
java.lang.RuntimeException: Unable to start activity ComponentInfo{me.agomezgz.bng.programa/me.agomezgz.bng.programa.SplashActivity}: android.database.sqlite.SQLiteException: no such table: comentario (code 1 SQLITE_ERROR):
答案 0 :(得分:1)
它抱怨sparse
……这意味着表0
以前没有被创建-堆栈跟踪只是一个后续错误。查看ProGuard警告的构建输出(甚至将其添加到问题中);可能有些东西被混淆了,而这些东西本不应该被混淆。数据库类的代码是完全不相关的(仅仅是因为它有效,而不会被混淆);仅构建日志很重要。将tree
添加到ProGuard配置中可能有助于获取更多详细信息。
答案 1 :(得分:0)
将数据库的onCreate方法更改为此:
db.execSQL("CREATE TABLE IF NOT EXISTS comentario(_id integer,
nome text not null,
correo text not null,
texto text not null,
idLoc integer not null, primary key (_id));");
答案 2 :(得分:0)
更新:删除应用存储后,它开始工作。我不明白...
您所拥有的数据库文件的早期版本中没有该表。清除应用程序存储后,数据库文件已删除,并强制sqlite助手onCreate()
重新运行。
请参见When is SQLiteOpenHelper onCreate() / onUpgrade() run?
它在调试中起作用的原因是,调试包是另一个应用程序ID,并且具有用于存储数据库文件的单独的专用目录。该数据库文件没有此问题。