2017-07-27 44 views
5

Tôi đang sử dụng Thư viện Persistence Android Room 1.0.0-alpha5. Khi biên dịch với ProGuard, tôi nhận được lỗi sau.Thư viện Persistence Phòng Android Cấu hình Proguard

Warning:android.arch.persistence.room.paging.LimitOffsetDataSource: can't find superclass or interface android.arch.util.paging.CountedDataSource 
Warning:android.arch.persistence.room.paging.LimitOffsetDataSource: can't find referenced class android.arch.util.paging.CountedDataSource 
Warning:android.arch.persistence.room.paging.LimitOffsetDataSource$1: can't find referenced method 'void invalidate()' in program class android.arch.persistence.room.paging.LimitOffsetDataSource 
Warning:there were 5 unresolved references to classes or interfaces. 
Warning:there were 1 unresolved references to program class members. 
Warning:Exception while processing task java.io.IOException: Please correct the above warnings first. 

ProGuard Cấu hình của tôi cho Phòng như sau

-dontwarn okio.** 
-dontwarn javax.annotation.Nullable 
-dontwarn javax.annotation.ParametersAreNonnullByDefault 
# Platform calls Class.forName on types which do not exist on Android to  determine platform. 
-dontnote retrofit2.Platform 
# Platform used when running on Java 8 VMs. Will not be used at runtime. 
-dontwarn retrofit2.Platform$Java8 
# Retain generic type information for use by reflection by converters  and adapters. 
-keepattributes Signature 
# Retain declared checked exceptions for use by a Proxy instance. 
-keepattributes Exceptions 
-keep class android.content.** 
-dontwarn android.content.** 
-keep class android.animation.** 
-dontwarn android.animation.** 
-keep class me.panavtec.drawableview.** 
-dontwarn me.panavtec.drawableview.** 
-keep class javax.annotation.concurrent.** 
-dontwarn javax.annotation.concurrent.** 
-keep class android.arch.persistence.room.paging.LimitOffsetDataSource 
-keep interface android.arch.persistence.room.paging.LimitOffsetDataSource 
-keep class android.arch.util.paging.CountedDataSource 
-keep interface android.arch.util.paging.CountedDataSource 

tôi cần sự giúp đỡ trong việc sửa lỗi này. Tôi tin rằng ProGuard Cấu hình không cần thiết trước khi Alpha 3 và tôi đã không kiểm tra alpha 4

Trả lời

6

Bạn có thể thêm những dòng sau trong Proguard thay vì keep

-dontwarn android.arch.util.paging.CountedDataSource 
-dontwarn android.arch.persistence.room.paging.LimitOffsetDataSource 
+1

Nó làm việc. Tôi luôn có chút hoài nghi khi sử dụng dontwarn trong proguard vì một số lý do: P Cảm ơn rất nhiều: D – user3425867

Các vấn đề liên quan