Comments (6)
请问这个问题解决了么 我现在也是打包混淆之后 类型转换异常
from androidfire.
混淆没有配好,
from androidfire.
请问哪句混淆配置可以解决啊 我把作者本人的混淆配置都加进去了还是报错
from androidfire.
这个问题解决没,我也碰到了同样的问题,打包安装后 转换错误
java.lang.ClassCastException: java.lang.Object cannot be cast to com.jaydenxiao.common.base.c
from androidfire.
@yuejinsheng @liangning121 你好!你们的这个问题解决没,是怎么回事,我研究两三天了。。。。还是没搞清楚为什么会出现这种情况,这打包出来的apk反编译我也对比看了下,
Caused by: java.lang.ClassCastException: java.lang.Object cannot be cast to kstar.mycommon.base.b
这是报错的地方,反编译出来找到这代码如下
根据报错的地方找到代码位置是下面 mModel= TUtil.getT(this,1);
mPresenter = TUtil.getT(this, 0);
mModel= TUtil.getT(this,1);
为什么要报错不是上面那行,这代码感觉差不多的额,特别这两个文件BasePresenter BaseModel都已经被混淆了,唯一的区别就是一个是抽象类一个是接口
我看了其他中有关混淆的issue,他们说将TUti可以解决这个问,但是其实这个类的类名已经被混淆了,只是里面的代码没有而已,如下图
这个有点不懂怎样将这个类的内容混淆,只知道怎样keep保持里面的内容不被混淆,网上也没查到。
最主要的问题,这个项目clone下的代码,打包编译出来的apk也是报这个错
好吧 大佬们,这到底什么情况,有知道的麻烦说一声,我真的要被这个玩疯了
from androidfire.
这个问题终于解决了。并不是他们说的将TUtil混淆。本来开启混淆后会无差别的混淆其他代码,只是因为我们对一些保护了才留下来一些没被混淆的代码,所以我就奇怪怎么还能主动混淆其中一个文件,再说如果是这个文件的问题,那么在前面那行代码
mPresenter = TUtil.getT(this, 0);
就该报错了,怎么提示是下面的问题。再说作者在混淆文件下面配置了反射相关的方法是不被混淆的,这个工具类下面的所有代码都不被混淆。
#---------------------------------4.反射相关的类和方法-----------------------
##对commonutils报下的代码不警告
-dontwarn kstar.mycommon.commonutils.**
-keep class kstar.mycommon.commonutils.** { *; }
#----------------------------------------------------------------------------
所以报错应该是强转两个对象之间的问题。根据这个思路 我将两个对象的代码都保护起来,果然没问题了。我自己的代码如下,可能每个人代码类的结构不一样,反正思路是一样的BaseModel的子类要保护,不能混淆,混淆强转就有问题
#BaseModel类所在的位置
-keep class kstar.mycommon.base.** { *; }
#BaseModel子类,我们业务类所在的位置
-keep class com.kstar.device.ui.login.model.** { *; }
from androidfire.
Related Issues (20)
- 配置library包出错 HOT 1
- 两个不一样的公共adapter......QAQ HOT 1
- 请问关于混淆问题!这个项目的混淆应该怎么写呢?希望指点,谢谢 HOT 1
- 为什么继承了BaseActivity 加载activaty会好慢 1~2秒延迟 HOT 1
- 只想说代码真乱 HOT 1
- 继承BaseActivity,使用LoadingTip,总是会报错,弄了一个上午了
- 网络访问错误,请稍后再试 HOT 1
- 关于Adapter的position
- 自己项目引入该项目中的视频模块报错 HOT 1
- 亲在吗帮我解决一个问题哈 HOT 2
- RxJava1.X升级到RxJava2.X HOT 1
- 用android studio开发
- 用android studio3.1.2 gradle4.4 运行报错
- 在新的版本Android Studio 3以上存在较多的错误
- 编译发布包的时候选择release类型编译之后能成功编译,安装之后一启动就奔溃
- 想在android studio3.0及以上版本使用,编译各种错误 HOT 2
- 这个项目还维护吗? HOT 1
- 虽然我成功运行起来了,但还是希望作者适配一下最新的Android版本 HOT 1
- 我升级了RX1.x到2.x
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from androidfire.