Проблема Proguard: «java.lang.IllegalArgumentException: недопустимое выражение запроса: в запросе не найдено условие ключа хеша» - PullRequest
0 голосов
/ 01 октября 2018

Я использовал службы AWS и использовал dynemo db в своем приложении.

Я использую следующие 3 службы AWS.

implementation 'com.amazonaws:aws-android-sdk-core:2.6.15'
implementation 'com.amazonaws:aws-android-sdk-s3:2.6.15'
implementation 'com.amazonaws:aws-android-sdk-ddb-mapper:2.6.15'

Все работает нормально, и проект также успешно создается.

Теперь я включил proguard в своем проекте и добавил следующие правила в файл proguard.pro.

-keepnames class com.amazonaws.**
-keepnames class com.amazon.**
-keep class com.amazonaws.services..Handler
-dontwarn com.fasterxml.jackson.
-dontwarn org.apache.commons.logging.*
-dontwarn org.apache.http.**
-dontwarn com.amazonaws.http.**
-dontwarn com.amazonaws.metrics.**

Но я получаю следующую ошибку, когда пытаюсь запросить запрос с помощью DynamoDBQueryExpression Ошибка: "java.lang.IllegalArgumentException: Illegal query expression: No hash key condition is found in the query".

Не могли бы вы помочь мне с этой проблемой?

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

После многих усилий я нашел решение для этого.Возникла некоторая проблема конфликта, я добавил следующие правила для Realm в proguard-rules.pro file

# Realm
-dontnote io.realm.internal.SyncObjectServerFacade
-keep class io.realm.annotations.RealmModule
-keep @io.realm.annotations.RealmModule class *
-keep class io.realm.internal.Keep
-keep @io.realm.internal.Keep class * { *; }
-keep class io.realm.internal.KeepMember
-keep @io.realm.internal.KeepMember class * { @io.realm.internal.KeepMember 
*; }
-dontwarn javax.**
-dontwarn io.realm.**
-keep class io.realm.RealmCollection
-keep class io.realm.OrderedRealmCollection
-keepclasseswithmembernames class io.realm.** {
  *;
}
0 голосов
/ 01 октября 2018

Просто поместите эту строку и в файл ProGuard

-keep public class com.amazonaws.** { *;}

, он не будет минимизировать целые классы пакета com.amazonaws, тем самым ваша проблема будет решена, если будет существовать реальная проблема Pro-guard.

...