zoukankan      html  css  js  c++  java
  • android apk打包之后js调用失效的解决办法

    现在android下应用开发的界面用html5+css3写,交互用javascript和java沟通,但是用上混淆后发现javascript调用java类定义的方法老说找不到这个方法。
    一番折腾后发现是用proguard混淆后java定义的类变了名字,不仅如此,这个类定义的方法不知所踪,所以才导致javascript找不到这个方法。
    假设我们定义的java类为:
    点击(此处)折叠或打开
    public
    class JSNotify {

            public void notify ( String url ) {
           
        if ( null != mBrowser ) {
                    mBrowser.loadUrl(url);
        
           }
            }
        }
    在主类中和javascript的勾结代码为:
    点击(此处)折叠或打开
    //
    install callback function
            mBrowser.addJavascriptInterface(new
    JSNotify(), "external");
    混淆文件加上这段就没问题了:
    点击(此处)折叠或打开
    -keep public class
    <Package Name>.MainActivity$JSNotify {
    public void
    notify(java.lang.String);
    }

  • 相关阅读:
    Java中静态代理
    Android系统如何管理自己内存的?
    手游专用大图工具TexturePacker
    手游项目初期的一些想法
    读书笔记-并发
    搜索引擎名字引发的思考
    Eclipse工具修理集
    mysql 匹配update
    mysql 匹配update
    perl binlog dml操作报告
  • 原文地址:https://www.cnblogs.com/crazywenza/p/3303499.html
Copyright © 2011-2022 走看看