当前分类 / JsBridge / 总共1篇

Android与JavaScript相互调用桥梁JsBridge

什么是JSBridge

JSBridge:听其取名就是 JSNative 之间的桥梁,而实际上 JSBridge 确实是 JS 和 Native 之前的一种通信方式。简单的说,JSBridge 就是定义 Native 和 JS 的通信, Native 只通过一个固定的桥对象调用 JS, JS 也只通过固定的桥对象调用 Native。JSBridge 另一个叫法及大家熟知的 Hybrid app 技术。

项目地址:https://github.com/lzyzsd/JsBridge

整个库的结构也比较简单:一个用来注入的 JS 文件,一个自定义的 Webview(包括webViewClient),以及作为载体的 BridgeHandler

为什么要使用JsBridge

大多数人都知道 WebView 存在一个漏洞,见 WebView 中接口隐患与手机挂马利用,虽然该漏洞已经在 Android 4.2 上修复了,即使用@JavascriptInterface 代替 addJavascriptInterface,但是由于兼容性和安全性问题,基本上我们不会再利用 Android 系统为我们提供的addJavascriptInterface 方法或者 @JavascriptInterface 注解来实现,所以我们只能另辟蹊径,去寻找既安全,又能实现兼容 Android 各个版本的方案。

阅读更多