Android app crashes after generating signed apk

时间:2019-01-15 18:24:46

标签: android

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):  

3 个答案:

答案 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,并且具有用于存储数据库文件的单独的专用目录。该数据库文件没有此问题。