解决Android签名混淆后WebView与JS交互失效的问题

【本博客内的文章是本人的学习笔记总结,如有错误请各位批评指正,谢谢!欢迎加入群285077071讨论】

问题描述:在开发公司项目的过程中,发现打包签名后app的WebView却不能正常加载网页了,而没有打包的app却一切正常!这是什么问题呢??

解决思路:打包签名前后加载的都是同一个网页,不同的只是签名后app被混淆了……于是,打开proguard-project.txt文件,里面果然有一行被注释了的语句,如下图

既然打包签名混淆后就不能调用的话,那么我们就把这个注释打开,并且换成自己对应的类名和包名试试看……

果然,打包后的app也能正常加载网页了,甚是激动……

总结:混淆会导致WebView里的java代码和JS通信失效,要保证能正常通信须保证其不被混淆。

时间: 2024-08-01 14:04:24

解决Android签名混淆后WebView与JS交互失效的问题的相关文章

Android基础入门教程——7.5.3 Android 4.4后WebView的一些注意事项

Android基础入门教程--7.5.3 Android 4.4后WebView的一些注意事项 标签(空格分隔): Android基础入门教程 本节引言: 本节参考原文:Android 4.4 中 WebView 使用注意事项.md 从Android 4.4开始,Android中的WebView不再是基于WebKit的,而是开始基于Chromium,这个改变 使得WebView的性能大幅提升,并且对HTML5,CSS,JavaScript有了更好的支持! 虽然chromium完全取代了以前的We

Android中使用WebView与JS交互全解析

1.概述首先,需要提出一个概念,那就是hybrid,主要意思就是native原生Android和h5混合开发.为什么要这样做呢?大家可以想象一下针对于同一个活动,如果使用纯native的开发方式,Android和iOS两边都要维护同一套界面甚至是逻辑,这样开发和维护的成本会很大,而使用hybrid的开发方式的话,让前端的同学去写一套界面和逻辑,对于native端来说只要使用对应的容器去展示就可以了(对于Android来说这个容器当然就是WebView).那为什么不所有的页面都使用这种方式开发呢?

android webview与js交互(动态添加js)

1.本地html与本地html里的js交互 2.本地html与本地js交互 3.网络html与网络js交互 4.网络html与本地js交互 5.各个情况动态添加js 以上5点都可以用一种方式来模拟,在本篇中采用本地html与本地js交互 (包含动态添加js的操作) 6.拦截url请求(在webview加载完成以后,触发的请求url) 7.拦截url请求后返回自己封装的数据(基于第6点,加载完成后,触发一些请求数据的url时拦截并自己封装数据返回给webview) 注:6.7点将在下一篇博客介绍

WebView与Js交互

上周五,老大让暂时搞一个评分app,俩页面.第一个页面显示全部待评分的物业,第二个页面是相应物业的评分页面.评分页面是表格样式的,所以就让web端的同学写个html,我们通过Webview去展示. 这里不不过展示就完了,web页面须要知道我们点击的哪个物业以及所填评委的名字并显示在html上.所以client须要把这两个值传给html.当评委评分完后点击html里的提交button并提交成功后.client也须要进行响应.做法就是client提供接口,js代码去调用来获取值--JS调用Andro

浅谈webview与js交互

浅谈下webview与js的交互,项目中因为需要获取页面中的许多属性,所以用到了这些,让后端在方法中传了过来. 下面的demo是本地的html代码,具体可以仿写,都差不多,注重思想. 1:项目目录 2:jump的代码 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GBK"/> <script type="text/

webView和js交互

与 js 交互 OC 调用 JS // 执行 js - (void)webViewDidFinishLoad:(UIWebView *)webView { NSString *title = [webView stringByEvaluatingJavaScriptFromString:@"document.title;"]; NSLog(@"%@", title); [webView stringByEvaluatingJavaScriptFromString:@

android开发步步为营之10:代码签名混淆后编译和打包

编译和打包,最常见的有两种方式,手动使用eclipse export 项目apk,另外一种是使用ant自动打包.本文分别介绍这两种打包方式.    第一种:使用Eclipse导出 比如,现在我们有个项目helloworld, 1.选中项目右键export 2.选择已有的签名密钥或者新建一个,这里新建一个 3.填写公司.有效期.密码等等信息 4.完成之后,在指定的文件夹,就可以看到我们生成的apk了,HelloWorld.apk 第二种.使用ant打包 1. 配置签名密钥和代码混淆 local.p

我的Android进阶之旅------&gt;解决Android Studio编译后安装apk报错:The APK file does not exist on disk

1.错误描述 今天用Android Studio编译应用后安装APK的时候,报错了,错误如下所示: The APK file build\outputs\apk\OYP_2.3.4_I2Base_6476_official_debug.apk does not exist on disk. Error while Installing APK 如下图所示 2.解决方法 1.尝试了Build -> Clean Project再编译,还是无效 2.尝试重启Android Studio无效 然后我去打

Android原生webview中js交互

http://www.cnblogs.com/android-blogs/p/4891264.html Html页面和Java代码结合的方式一般用在界面经常被更改 的情况下,可以讲html放在网络中,软件一打开就会访问网络获取到最新的界面.缺点是会受到网络信号的影响,从而导致访问速度慢. 1.用WebView来显示HTML代码 2.允许WebView执行JavaScript webView.getSettings().setJavaScriptEnabled(true); 3.获取到HTML文件