#143·JsBridge

混淆导致的js调用原生失效

Author: scsfwgyCreated Aug 3, 2018Updated Dec 24, 2025

key word:minifyEnabled 混淆 proguard

解决方案,混淆文件添加: //https://github.com/lzyzsd/JsBridge 由于该库导致失效 -keep class org.json.** { *; }

出错堆栈: 08-03 21:47:58.575 11344-11344/com.tophold.xcfd W/System.err: org.b.b: JSONObject["data"] not a string. at org.b.c.h(JSONObject.java:639) at com.github.lzyzsd.jsbridge.f.f(Message.java:102) at com.github.lzyzsd.jsbridge.BridgeWebView$1.a(BridgeWebView.java:147) at com.github.lzyzsd.jsbridge.BridgeWebView.a(BridgeWebView.java:87) at com.github.lzyzsd.jsbridge.c.shouldOverrideUrlLoading(BridgeWebViewClient.java:29) at com.android.webview.chromium.WebViewContentsClientAdapter.shouldOverrideUrlLoading(WebViewContentsClientAdapter.java:343) at com.android.org.chromium.android_webview.AwContentsClientBridge.shouldOverrideUrlLoading(AwContentsClientBridge.java:261) at com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method) at com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:53) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5418) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1037) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)