前言:
為了加快開發(fā)效率,目前公司一些功能使用H5開發(fā),這里難免會用到Js與Java函數(shù)互相調(diào)用的問題,這個Android是提供了原生支持的,不過存在安全隱患,今天我們來學習一種安全方式來滿足Js與java互相調(diào)用的需求。它就是WebViewJavascriptBridge。
學習動機:
先看下之前的解決辦法:Android混合開發(fā)之WebView與Javascript交互
最近棒棒安全的一個市場推廣來我們公司推廣他們的產(chǎn)品,當時也沒太引起我的注意,后來這個市場推廣人員把我們的app的進行了他們的安全驗證,然后發(fā)給我一份檢測報告,關于WebView的檢測內(nèi)容大致如下:
其實目前公司采用H5的業(yè)務都是相對不是很重要的一些業(yè)務,而且安全性要求相對比較低,不過作為技術負責人的我,覺得現(xiàn)在很有必要盡快尋找一個相對安全的方式來解決這個問題,算是未雨綢繆吧。經(jīng)過搜過資料尋找的解決辦法就是使用WebViewJavascriptBridge來實現(xiàn)Js與Java的互相調(diào)用。
WebViewJavascriptBridge介紹:
WebViewJavascriptBridge是WebView和Js交互通信的橋梁,用作者的話來說就是實現(xiàn)java和js的互相調(diào)用的橋梁。替代了WebView的自帶的JavascriptInterface的接口,使得開發(fā)者更方便的讓js和native靈活交互,使我們的開發(fā)更加靈活和安全。
目前實現(xiàn)JSBridge的開源框架很多,這里采用的hi大頭鬼hi寫的開源框架:https://github.com/lzyzsd/JsBridge
WebViewJavascriptBridge使用方式:
1.)添加配置信息
project的build.gradle中添加如下配置
allprojects { &