我正在使用 proguard 混淆我的完整操作应用程序的源代码。但是激活proguard后我遇到了这个问题:
06-16 18:52:17.779 10971-11059/? E/SQLiteLog﹕ (1299) abort at 10 in [INSERT INTO wifi_venues(name,wifi_password,wifi_ssid,id) VALUES (?,?,?,?)]: NOT NULL constraint failed: wifi_venues.name
06-16 18:52:17.779 10971-11059/? E/SQLiteDatabase﹕ Error inserting name=null wifi_password=null wifi_ssid=null id=0
android.database.sqlite.SQLiteConstraintException: NOT NULL constraint failed: wifi_venues.name (code 1299)
at android.database.sqlite.SQLiteConnection.nativeExecuteForLastInsertedRowId(Native Method)
at android.database.sqlite.SQLiteConnection.executeForLastInsertedRowId(SQLiteConnection.java:782)
at android.database.sqlite.SQLiteSession.executeForLastInsertedRowId(SQLiteSession.java:788)
at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:86)
at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1471)
at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1341)
at com.wiffinity.easyaccess.repository.venuesrepo.wifivenues.RepositoryWiFiVenuesImpl.a(SourceFile:181)
at com.wiffinity.easyaccess.repository.venuesrepo.wifivenues.RepositoryWiFiVenuesImpl.a(SourceFile:43)
at cmg.run(SourceFile:121)
at java.lang.Thread.run(Thread.java:818)
我认为我是 SQLite 混淆的问题,所以我在 proguard-rules.txt 中添加了这个:
-keep class com.db.models.**
-keepclassmembers class com.db.models.** { *; }
-keep public class android.database.sqlite.**
但它仍然在发生。proguard 是否也混淆了这些值?我需要什么来解决这个问题?