J'utilise dans mon projet un morceau de code comme décrit ici
http://lexandera.com/2009/01/extracting-html-from-a-webview/
Je crée le fichier .apk, je l'installe sur mon appareil et il fonctionne correctement. Si j'essaie d'utiliser l'obfuscation avec proguard le projet échoue, la méthode showHTML(String html) de MyJavaScriptInterface n'est pas atteinte.
Ma configuration proguard concernant cela
-keep public class com.mypackage.MyClass.MyJavaScriptInterface
-keep public class * implements com.mypackage.MyClass.MyJavaScriptInterface
-keepclassmembers class * implements com.mypackage.MyClass.MyJavaScriptInterface {
<methods>;
}
d'après cette réponse Proguard Android problème d'interface Javascript .
SOLVÉ.
Comme Eric l'a suggéré, j'ai modifié le fichier de configuration de Proguard comme suit :
-keep public class com.mypackage.MyClass$MyJavaScriptInterface
-keep public class * implements com.mypackage.MyClass$MyJavaScriptInterface
-keepclassmembers class com.mypackage.MyClass$MyJavaScriptInterface {
<methods>;
}
Maintenant, mon projet fonctionne parfaitement.
Pour l'API 17+, vous devez également préserver les annotations @JavavascriptInterface :
-keepattributes JavascriptInterface
http://developer.Android.com/reference/Android/webkit/JavascriptInterface.html