[Android] 解决addJavascriptInterface混淆的bug

转载 2015年11月18日 14:12:03
现在android下应用开发的界面用html5+css3写,交互用javascript和java沟通,但是用上混淆后发现javascript调用java类定义的方法老说找不到这个方法。
一番折腾后发现是用proguard混淆后java定义的类变了名字,不仅如此,这个类定义的方法不知所踪,所以才导致javascript找不到这个方法。
假设我们定义的java类为:

点击(此处)折叠或打开

  1. public class JSNotify {

  2.         public void notify ( String url ) {
  3.             if ( null != mBrowser ) {
  4.                 mBrowser.loadUrl(url);
  5.             }
  6.         }
  7.     }
在主类中和javascript的勾结代码为:

点击(此处)折叠或打开

  1. // install callback function
  2.         mBrowser.addJavascriptInterface(new JSNotify(), "external");
混淆文件加上这段就没问题了:

点击(此处)折叠或打开

  1. -keep public class <Package Name>.MainActivity$JSNotify {
  2. public void notify(java.lang.String);
  3. }

相关文章推荐

android js互相调用的方法,混淆后js无效,addJavascriptInterface使用注意事项

1,java和js互相调用的演示代码 1.1,JSAndroidActivity 代码package com.homer.jsandroid;import java.text.RuleBasedCo...

android webview中调用了js的时候混淆注意事项

今天有一个bug,就是webview跟js交互的方法怎么也调不起来,debug包问题,release包就出错,想想是打包时混淆的问题,打了一个不混淆的包,果不其然,就是混淆的问题。 然后就找解决方案,...

Android4.2下 WebView的addJavascriptInterface漏洞解决方案

最近接到公司安全部门提出的关于app js调用的一个安全漏洞,这个漏洞是乌云平台(http://www.wooyun.org)报告出来的。 mWebView.addJavascriptInterfa...

Android WebView 中 addJavascriptInterface 接口无效问题

说点题外话吧,从 Cocos2d-x 技术支持部门调到 Cocos Play 部门已经不知觉半年了。半年中,大概一天都是当成两天来用,完全没有时间做点自己的事情。最近正统的 Andorid 代码已经写...

android软件开发之webView.addJavascriptInterface循环渐进【一】

代码 由于这里是第一阶段的webView所我就写个最简单的文章,这样大家可以循环渐进的来了解addJavascriptInterface这句话是怎么用的。 在这里我们引用Google的一个事例下面...

Android:如何使用addJavaScriptInterface

转自:http://www.evget.com/article/2013/11/8/20020.html 本文主要讲述:使用原生的方法来实现js调用android方法 代码例子:http://...
  • qqGrid
  • qqGrid
  • 2014-11-30 16:12
  • 4466

Android软件开发之webView.addJavascriptInterface循环渐进【一】

转自:http://blog.csdn.net/kingsollyu/article/details/6656865 首先必要的啰嗦几句,这几天写VC写的累的要死,突然间不想再写想VC了,手里面有一...

Android:如何使用addJavaScriptInterface

本文转自:http://www.evget.com/article/2013/11/8/20020.html 概述:addJavaScriptInterface是一个非常有用的功能,帮助我们...

android软件开发之webView.addJavascriptInterface循环渐进【二】

新建工程 为了让大家更容易的理解,所以我这里就尽量的将代码缩短,这是我的工程的配置 创建好工程之后,然后将界面调整为下面这样 添加代码 首先将两个button和webview添...

android webview addJavascriptInterface 的方法不能调用

以前一直觉着用html5做android app是一件很鸡肋的事(勿喷,请恕小的见识少)。 后来又发现很多大公司做的app中都或多或少的使用了html元素,比如微信、qq之类。 最近在网上闲逛发现一个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)