SQLite
 sql >> Database >  >> RDS >> SQLite

Ottenere NoClassDefFoundError durante il tentativo di utilizzare Proguard e SQLcipher in Android

Penso che la classe sia stata rimossa dallo strumento Proguard Shrinking.

Prova ad aggiungere il seguente parametro

-dontshrink

e dimmi se funziona.

Ho anche visto che manca un attributo in una classe protetta di Sqlcipher :

: E/AndroidRuntime(18993): Caused by: java.lang.NoSuchFieldError: no field with name='nHandle' signature='I' in class Lnet/sqlcipher/database/SQLiteCompiledSql;

Puoi anche provare a mantenere le classi protette da Sqlcipher?

-keep class net.sqlcipher.** {
    *;
}

PS È normale che tu abbia l'opzione -dontobfuscate nella tua configurazione? La tua applicazione non verrà offuscata se la conservi.