前言:

     為了加快開發(fā)效率,目前公司一些功能使用H5開發(fā),這里難免會(huì)用到Js與Java函數(shù)互相調(diào)用的問題,這個(gè)Android是提供了原生支持的,不過存在安全隱患,今天我們來學(xué)習(xí)一種安全方式來滿足Js與java互相調(diào)用的需求。它就是WebViewJavascriptBridge。

學(xué)習(xí)動(dòng)機(jī):

    先看下之前的解決辦法:Android混合開發(fā)之WebView與Javascript交互

    最近棒棒安全的一個(gè)市場推廣來我們公司推廣他們的產(chǎn)品,當(dāng)時(shí)也沒太引起我的注意,后來這個(gè)市場推廣人員把我們的app的進(jìn)行了他們的安全驗(yàn)證,然后發(fā)給我一份檢測報(bào)告,關(guān)于WebView的檢測內(nèi)容大致如下:

萬碼學(xué)堂,電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),Java培訓(xùn),JavaEE開發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn)

其實(shí)目前公司采用H5的業(yè)務(wù)都是相對不是很重要的一些業(yè)務(wù),而且安全性要求相對比較低,不過作為技術(shù)負(fù)責(zé)人的我,覺得現(xiàn)在很有必要盡快尋找一個(gè)相對安全的方式來解決這個(gè)問題,算是未雨綢繆吧。經(jīng)過搜過資料尋找的解決辦法就是使用WebViewJavascriptBridge來實(shí)現(xiàn)Js與Java的互相調(diào)用。

WebViewJavascriptBridge介紹:

 WebViewJavascriptBridge是WebView和Js交互通信的橋梁,用作者的話來說就是實(shí)現(xiàn)java和js的互相調(diào)用的橋梁。替代了WebView的自帶的JavascriptInterface的接口,使得開發(fā)者更方便的讓js和native靈活交互,使我們的開發(fā)更加靈活和安全。

 目前實(shí)現(xiàn)JSBridge的開源框架很多,這里采用的hi大頭鬼hi寫的開源框架:https://github.com/lzyzsd/JsBridge

WebViewJavascriptBridge使用方式:

1.)添加配置信息

project的build.gradle中添加如下配置

萬碼學(xué)堂,電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),Java培訓(xùn),JavaEE開發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn)

allprojects {
 &