SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

Nhận NoClassDefFoundError khi cố gắng sử dụng Proguard và SQLcipher trong Android

Tôi nghĩ rằng lớp đã bị xóa bởi công cụ Proguard Shrinking.

Hãy thử thêm thông số sau

-dontshrink

và cho tôi biết nếu nó hoạt động.

Tôi cũng thấy rằng một thuộc tính bị thiếu trong một lớp được bảo vệ của Sqlcipher:

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

Bạn cũng có thể cố gắng giữ các lớp được bảo vệ khỏi Sqlcipher không?

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

P.S Bạn có thường xuyên có tùy chọn -dontobfuscate trong cấu hình của mình không? Ứng dụng của bạn sẽ không bị xáo trộn nếu bạn giữ nó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận ngày thứ Hai đầu tiên của năm trong SQLite

  2. BẢNG DROP SQLite

  3. Cách tạo một cột được tính toán trong SQLite

  4. Gói đã đăng 50 chúc rượu. Không hiển thị thêm

  5. Cài đặt SQLite