Ответ 1
Добавление в proguard
-keep public class com.google.android.gms.**
-dontwarn com.google.android.gms.**
кажется, исправляет
Я использую аналитику, и при компиляции я получаю предупреждения этого предупреждения:
Warning: com.google.android.gms.internal.zzw$zza: can't find superclass or interface org.apache.http.client.methods.HttpEntityEnclosingRequestBase
Warning: com.google.android.gms.analytics.internal.zzam: can't find referenced class org.apache.http.NameValuePair
Warning: com.google.android.gms.analytics.internal.zzam: can't find referenced class org.apache.http.client.utils.URLEncodedUtils
и многое другое.
Я использую эти зависимости:
compile 'com.google.android.gms:play-services-base:7.8.0'
compile 'com.google.android.gms:play-services-gcm:7.8.0'
Это ошибка? Есть ли обходной путь для этого?
Добавление в proguard
-keep public class com.google.android.gms.**
-dontwarn com.google.android.gms.**
кажется, исправляет
Я думаю, что если вы добавите устаревшую поддержку Http в build.gradle вашего приложения (только внутри секции Android), тогда он должен решить проблему до тех пор, пока GMS и другие библиотеки не перейдут к незанятым классам
android {
useLibrary 'org.apache.http.legacy' // Need until GMS upgraded
}
См. эту страницу для официальной документации.
Это ошибка, мы должны включить все необязательные зависимости (http теперь является необязательным в API 23) при запуске Proguard, поскольку Proguard очень строг в отношении просмотра всех необходимых классов.
Проблема заключается в том, что если ваш проект приложения не объявляет, что ему нужен http, то Progard не будет настроен на его получение в качестве библиотеки jar.
Временное исправление будет заключаться в том, чтобы ваше приложение объявило, что оно ему нужно, но это не совсем то, что вы хотите. (см. другие ответы)
Предоставление Proguard не предупреждает о недостающих классах, вероятно, не очень хорошая идея, но это тоже возможно (см. другие ответы)
В любом случае, мы исправим это в финале 1.4. Он должен появиться в следующей бета-версии (beta2), на следующей неделе, вероятно (неделя 2015/09/07)
Вероятно, это ошибка, отметим, что Android Marshmallow еще не выпущен, и, согласно комментариям к Google+, когда "Разработчики Android" сделали сообщение об SDK, есть много ошибок с proguard и другими вещами. Подождите, пока не появится более новая версия SDK.
В соответствии с изменением API 22-23 diff пакеты org.apache.http. * были удалены с API-интерфейса Android 6.0 (Marshmallow) уровня 23.
http://developer.android.com/sdk/api_diff/23/changes.html
через: http://android-developers.blogspot.co.uk/2015/08/m-developer-preview-3-final-sdk.html