웹뷰에서 callback 사용시 proguard 적용하기
JavascriptCallback.java
public interface JavascriptCallback {
public void WebCallBack();
public void WebCallback(String a, String b, String c);
}
인터페이스 하나 만들고
웹뷰
WebView.java 에서는
wvContents.addJavascriptInterface(new JavascriptInterface(), "Event");
public class JavascriptInterface implements JavascriptCallback {
public void WebCallBack() {
// TODO
}
public void WebCallBack(String a, String b, String c) {
// TODO
}
}
proguard 에서는
-keep public class YOURPACKAGENAMEHERE.JavascriptCallback
-keep public class * implements YOURPACKAGENAMEHERE.JavascriptCallback
-keepclassmembers class * implements YOURPACKAGENAMEHERE.JavascriptCallback {
<methods>;
}
http://stackoverflow.com/questions/7424510/uncaught-typeerror-when-using-a-javascriptinterface
프로가드 멀고도 험하게 적용했다.
호출은
window.Event.WebCallBack();