Android WebView使用方法详解 附js交互调用方法

时间:2021-05-21

目前很多Android app都内置了可以显示web页面的界面,会发现这个界面一般都是由一个叫做WebView的组件渲染出来的,学习该组件可以为你的app开发提升扩展性。

先说下WebView的一些优点:

--可以直接显示和渲染web页面,直接显示网页
--webview可以直接用html文件(网络上或本地assets中)作布局
--和JavaScript交互调用

一、基本使用

首先layout中即为一个基本的简单控件:

<WebView android:id="@+id/webView1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginTop="10dp" />

同时,因为要房访问网络,所以manifest中必须要加uses-permission:

<uses-permission android:name="android.permission.INTERNET"/>

在activity中即可获得webview的引用,同时load一个网址:

webview = (WebView) findViewById(R.id.webView1);webview.loadUrl("http:///skylot/jadx.git cd jadx gradlew.bat dist

在windows电脑中,步骤与mac是一样的,只是最后一步中,已经不再是./gradlew所对应的shell脚本了,而是windows平台上的bat脚本。

可见作者有多牛X,shell脚本和bat脚本都会写,真是屌的不能直视

整个编译过程是比较慢的,这里需要耐心等待下。因为目前会使用gradle 2.7来编译项目,如果没有在环境变量中环境gradle 2.7的环境变量,会自己下载gradle 2.7

编译成功后会打出BUILD SUCCESS字样,如下图所示:

在编译成功后,在jadx目录下,会生成一个build目录,其中包含jadx目录和一个jadx-xxx-dev.zip的打包文件。在build/jadx目录下,就是源码编译出的jadx工具及所用jar包。jadx-xxx-dev.zip解压后的内容与build/jadx内容一样,只是将其打包了一下而已,方便移值,可见作者有多用心。build目录结构如下图所示:

2)、开始反编译

等完毕后,可以开始了,我就介绍个最简单最常用的用法

(1)、把apk改成zip
(2)、解压zip获取class.dex文件
(3)、将class.dex文件放到jadx目录下

cd build/jadx/ bin/jadx -d out classes.dex # 反编译后放入out文件夹下(如果out不存在它会自动创建) #or bin/jadx-gui classes.dex # 会反编译,并且使用gui打开

目录结构图如下:

在使用jadx-gui反编译时,左下角会显示当前反编译的进度:

在反编译完成后,在左侧就可以看到目录结构和对应的代码,目录结构中显示的a,b,c,d这些字母是由于在生成apk时使用proguard混淆造成的,proguard混淆的类名是没办法反编译出对应的原类名的,这也是反编译代码中比较蛋疼的地方,下面给大家演示下结果:(还可以通过点击搜索按钮,搜索其中的代码)

有关jadx-gui工具的更多用法,只有靠大家自己去研究啦,到这里我们的源码就已经反编译出来了。
反编译工具和微信的Classes文件,会在源码中给出大家,源码下载地址:Android WebView使用

以上就是本文的全部内容,希望对大家的学习有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章