В моем проекте я использую фрагмент кода, описанный здесь
http://lexandera.com/2009/01/extracting-html-from-a-webview/
Я создаю файл .apk, устанавливаю его на свое устройство, и он корректно работает. Если я попытаюсь использовать obfuscation с proguard, проект провалится, метод showHTML (String html) MyJavaScriptInterface не будет достигнут.
Моя конфигурация proguard относительно этого
-keep public class com.mypackage.MyClass.MyJavaScriptInterface
-keep public class * implements com.mypackage.MyClass.MyJavaScriptInterface
-keepclassmembers class * implements com.mypackage.MyClass.MyJavaScriptInterface {
<methods>;
}
в соответствии с этим ответом Проблема с Javascript для Android proguard.
решаемые.
Как предложил Эрик, я изменил конфигурационный файл Proguard следующим образом:
-keep public class com.mypackage.MyClass$MyJavaScriptInterface
-keep public class * implements com.mypackage.MyClass$MyJavaScriptInterface
-keepclassmembers class com.mypackage.MyClass$MyJavaScriptInterface {
<methods>;
}
Теперь мой проект отлично работает.
Для API 17+ вам также необходимо сохранить аннотации @JavascriptInterface:
-keepattributes JavascriptInterface
http://developer.android.com/reference/android/webkit/JavascriptInterface.html