Правильные правила Proguard для AWS AppSync с аутентификацией пула пользователей Cognito на Android - PullRequest
0 голосов
/ 29 мая 2019

У меня есть Android-приложение, использующее AWS AppSync SDK со следующей конфигурацией gradle для подключения к облачному бэкэнду.

implementation 'com.amazonaws:aws-android-sdk-appsync:2.7.+'

Доступ к внутренним ресурсам контролируется через Cognito User Pools. Аутентификация пользователя и выборка данных из бэкэнда работает нормально без включенной защиты. Если я включаю Proguard, я получаю все виды предупреждений, связанных с AWS SDK. Единственный способ, которым мне удалось сгенерировать подписанный APK с включенным proguard, - это подавить все связанные с AWS предупреждения в proguard-rules.pro следующим образом:

-dontwarn com.amazonaws.**

Когда я делаю это, сгенерированный APK не аутентифицирует пользователя, и данные не могут быть получены из серверной части. Когда я пытаюсь отладить APK, я получаю следующую ошибку в Android Studio:

Could not connect to remote process. Aborting debug session.

Есть ли более тонкая настройка proguard, которая избавляет от всех предупреждений, но не портит соединение с бэкэндом?

1 Ответ

0 голосов
/ 29 мая 2019

Следующая конфигурация Proguard сделала свое дело для меня:

-keepnames class com.amazonaws.**
-keepnames class com.amazon.**
# Request handlers defined in request.handlers
-keep class com.amazonaws.services.**.*Handler
# The following are referenced but aren't required to run
-dontwarn com.fasterxml.jackson.**
-dontwarn org.apache.commons.logging.**
# Android 6.0 release removes support for the Apache HTTP client
-dontwarn org.apache.http.**
# The SDK has several references of Apache HTTP client
-dontwarn com.amazonaws.http.**
-dontwarn com.amazonaws.metrics.**
-dontwarn com.amazonaws.mobile.**
-dontwarn com.amazonaws.mobileconnectors.**

Все предупреждения исчезают, и apk подключается к бэкэнду без проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...