Android 解决 No static method in class La/a/a/a; or its super classes
错误堆栈:
Process: com.chaozh.iReader, PID: 24217java.lang.NoSuchMethodError: No static method getDrawable(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable; in class La/a/a/a; or its super classes (declaration of 'a.a.a.a' appears in base.apk!classes2.dex)at com.zhangyue.bookstore4.ui.widget.ZyTitleBar.setNavigationIconDefault(ZyTitleBar.java:547)at com.zhangyue.bookstore4.ui.fragment.ShoppingCartFragment.onViewCreated(ShoppingCartFragment.java:1260)at com.zhangyue.iReader.ui.fragment.base.CoverFragmentManager$3.run(CoverFragmentManager.java:660)at com.zhangyue.iReader.app.IreaderApplication.runOnUiThread(IreaderApplication.java:141)at com.zhangyue.iReader.ui.fragment.base.CoverFragmentManager.replaceFragment(CoverFragmentManager.java:599)at com.zhangyue.iReader.ui.presenter.LoadPluginPresenter$1$1.run(LoadPluginPresenter.java:155)at android.os.Handler.handleCallback(Handler.java:790)at android.os.Handler.dispatchMessage(Handler.java:99)at android.os.Looper.loop(Looper.java:192)at android.app.ActivityThread.main(ActivityThread.java:6800)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:825)
错误原因:
目前报错的是我们的一个插件,报错说a.a.a.a 里面没有getDrawable 这个方法。
我们看下插件里面究竟有没有这个方法:
我们看到里面是有这个方法的!
那怎么可能查不到?
突然想到之前主工程里面也有其他的一个jar,里面有a.a.a.a 这个类,他这个类里面确实没有这个方法!
解决方法
全都是因为混淆,两个jar 包 都被混淆成了a.a.a.a!所以已经加载了第一个a.a.a.a之后,第二个就不会再加载,但是第一个里面并没有第二个的方法!
那怎么办?
对其中一个jar 混淆的时候,改变一下包的前缀。
在proguard-project.txt 增加下面这句话:
-repackageclasses 'zy'
我们再看下打完之后的包:
a 就会变成我们指定的zy.
下面给出proguard 文档的官网:
https://www.guardsquare.com/en/products/proguard/manual/examples#repacking
里面还有很多好玩的功能,比如混淆期间 ,去掉log 代码。Removing logging code,大家有时间可以自行研究。
Android 解决 No static method in class La/a/a/a; or its super classes相关推荐
- Android:解决Gradle DSL method not found: 'runProguard()' 问题
已入github上的android开源项目出现Android:Gradle DSL method not found: 'runProguard()' 在新版本的gradle中,runProguard ...
- 关于Android Studio单元测试中“Method d in android.util.Log not mocked.”问题的解决。
关于Android Studio单元测试中"Method d in android.util.Log not mocked."问题的解决. 点开链接 这就是解决方案.(这主要是由于 ...
- Android异常解决--A WebView method was called on thread 'JavaBridge'. All WebView methods must be called
Android异常解决--A WebView method was called on thread 'JavaBridge'. All WebView methods must be called ...
- Android Studio编译中出现No static method metafactory怎么办?_莫韵乐与bug的奇妙冒险
Android Studio编译中出现No static method metafactory怎么办? 在build.gradle(:app)中的加入以下代码 android {//...compil ...
- java.lang.NoSuchMethodError: No static method ..........
原文地址:https://www.jianshu.com/p/e1bbb7e9901d 问题 java.lang.NoSuchMethodError: No static method getFont ...
- android 自定义view文字不齐,Android 解决TextView排版参差不齐的问题
Android 解决TextView排版参差不齐的问题 在app中,展示数据时,里面有汉字.数字.特殊字符时,由于全角.半角问题导致TextView参差不齐.在网上找了许多,半角转全角并没什么用,还有 ...
- android 解决String.format多语言存在的问题
今天,简单讲讲android里如何解决String.format在切换语言时存在的问题. 之前,我写过一篇博客,讲关于String.format的基本使用,大家如果没有看过,建议看看或者去网上查找资料 ...
- android 解决getNetworkInfo过时
今天,简单讲讲android里如何解决getNetworkInfo过时的问题. 之前,我写了一篇博客,讲如何获取手机是否连网,其中有的代码用到了ConnectivityManager 的getNetw ...
- android 解决getColor()方法过时
今天,简单讲讲android里如何解决getColor()方法过时的问题. 之前,我写博客讲了程序员需要解决过时的方法的问题,Google会提供过时函数的替代函数,程序员有责任找到替代函数,并且解决过 ...
最新文章
- coco数据集大小分类_MicroSoft COCO数据集
- php图片自动裁剪工具,php图片自动裁剪工具,解决图片变形问题,缩略图问题
- 一、select查询
- 深度解读!阿里统一应用管理架构升级的教训与实践
- java鼠标图片裁剪,如何用Java中的鼠标指针捕获屏幕图像
- SQL Server 2008|2012 阻止保存要求重新创建表的更改
- 数据仓库中的SQL性能优化 - Hive篇
- 人类附身机器人获得永生_脑机接口先驱尼古莱利斯:人类无法实现数字永生
- 正则获取前8位数字_数据取整,获取字符串前数字另辟蹊径之LOOKUP
- 【JavaScript】一个同步于本地时间的动态时间
- AWS新品直指微软,它会是改变数据库的“Game Changer”吗?
- 拦截游戏窗口被移动_家中最值得购入的17款儿童游戏,教你如何从IPAD中夺回小朋友的注意力...
- vscode插件之php插件koroFileHeader(自动生成注释)
- Intel/Nvidia双显卡笔记本用U盘安装ubuntu和Nvidia驱动
- C# winform 魔兽MH全图制作教程(3):魔兽1.20E.1.24B.1.24E全图内存地址 转自breeze...
- IDEA 插件开发 向主菜单注册菜单项目
- 荣誉勋章出现计算机中丢失,荣誉勋章战士无法运行的原因及解决方法
- 搭建大型分布式服务(二十五)如何将应用部署到TKE容器集群?
- linux系统应用实验DNS的安装,DNS配置实验小结
- mysql 围栏_一个电子围栏需求的脚本记录
热门文章
- 织梦php首页老是自动恢复,dede首页网址自动加上index.html问题解决方法
- java循环使用范围_Java循环流程控制语句
- 城市轨道交通运营票务管理论文_【专业简介】城市轨道交通运营与管理
- python全栈开发 * 表格标签 表单标签 css 引入方式 * 180807
- Android友盟增量更新
- java中注解的使用与实例 (二)
- CentOS 6.7 配置 yum 安装 nginx
- 上传Android或Java库到Maven central repository(转载)
- 架构之路--实战项目记录(二) 忘记数据库 开始抽象
- 使用OpenSSL实现证书操作