Intereting Posts
Android, что делает атрибут clipToPadding? Android, LinearLayout не будет прокручиваться Плагин cordova fcm на Android-данные.wasTapped не работает Android Не удалось идентифицировать apk для варианта arm-debug и устройства Python + Django на Android Блокируйте мобильный сайт, чтобы открыть мое приложение Android deeplink – Google Chrome Android: создание родительского макета и расширение его, чтобы поддерживать одинаковый внешний вид во всех действиях приложения Почему мой проект Xamarin.Android не будет создан с помощью Proguard: «java.exe» вышел с кодом 1 Как изменить программные переменные xml-значений в Android? Android Get Application 'Home' Data Directory Как обращаться с кнопками «сохранить» и «отменить» и обратно Лучшая практика внедрения обратной связи Retrofit для воссозданной деятельности? Что ТОЧНО делает ресурсы $ NotFoundException? Android просматривает сравнение двух представлений о равенстве Добавить пользовательский шрифт для полного приложения для Android

Класс библиотеки предупреждений proguard android.webkit.WebView зависит от класса программы android.webkit.WebViewClien

У меня есть версия файла android.webkit.WebViewClient в исходном каталоге приложения, чтобы обрабатывать onReceivedSslError в моей собственной расширенной версии WebViewClient. Когда я использую новую интеграцию ProGuard в sdk-7, я получаю следующее предупреждение:

[Proguard] Предупреждение: класс библиотеки android.webkit.WebView зависит от класса программы android.webkit.WebViewClient

[Proguard] Предупреждение: в зависимости от классов программы было 1 экземпляр классов библиотеки. [Proguard] Вы должны избегать таких зависимостей, так как классы программы будут обрабатываться [proguard], а классы библиотеки останутся без изменений.

Может ли кто-нибудь сказать мне, как исправить это в моем proguard.cfg? Благодаря 🙂

Я столкнулся с одной и той же проблемой, и по proguard.cfg выше, я пишу эти строки в proguard.cfg и проблема решена:

 -keep public class android.net.http.SslError -keep public class android.webkit.WebViewClient -dontwarn android.webkit.WebView -dontwarn android.net.http.SslError -dontwarn android.webkit.WebViewClient 

Попробуйте добавить в файл proguard.cfg или proguard-project.txt следующее:

 -dontwarn android.webkit.WebView 

Возможно, это немного поздно, но у меня была такая же проблема. Мне нужно было поддерживать SSL-соединения в WebView на андроидах ниже 2.2.

Я смог успешно построить apk с proguard, выполнив следующие действия:

  • Как сказано в комментариях – удалите файл android.webkit.WebViewClient из своего источника, вместо этого создайте свой собственный класс и расширьте оригинальный WebViewClient только с onRecieveSslError метода onRecieveSslError внутри (без переопределения).

  • Замените существующее использование WebViewClient новым

  • SslError можно оставить без изменений, поскольку на SDK 7 и ниже он не существует в открытом API, поэтому proguard его не заметит.

Вот и все.