Proguard 不要混淆內部類
阿新 • • 發佈:2018-12-26
呼叫webview的js程式碼,跳轉不過去,不混淆程式碼可以執行,混淆後就不行。這肯定是方法被混淆了,那麼如何做呢?
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
正確的寫法,寫上類的絕對路徑,類名 ,$ ,再就是內部類名稱。
-keepclassmembers class com.dd.ActionActivity$ExpJavaScriptInterface { public *; }
-keepattributes *Annotation*
-keepattributes *JavascriptInterface*
4.2以上版本呼叫js介面需要在方法使用宣告@JavascriptInterface,然後混淆時可能會弄丟該宣告導致,程式無法呼叫js,需要繼續再配置檔案中新增條件