swanfly
swanfly
you can resize alert by yourself
用2.0.42.android4版本,不再提示only supported starting with Android O (--min-api 26)这个错误了 但是,打包成apk后,还是崩溃,日志如下 ava.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType at com.alibaba.fastjson2.TypeReference.(SourceFile:1)
我找到了相似的问题,如下: https://juejin.cn/post/7230727739078148133 是因为Android Gradle 8.0以后 R8是默认full modle,所以会报这个错误。但是混淆规则该怎么写?
我正在尝试解决混淆的问题,我将fastjson2放到我的项目里面,发现找不到sun.misc.Unsafe类。 通过搜索得知,自jdk 11版本之后,不允许调用直接使用Unsafe。但是可以通过反射使用该类。 参考:https://www.imooc.com/wenda/detail/693459 所以,需要你先解决Unsafe类调用不到的问题后,我这才能运行起来,才能尝试解决混淆的问题。
https://stackoverflow.com/questions/34702403/in-android-how-to-invoke-sun-misc-unsafe-methods-using-java-reflection 我明天不忙的时候再试一下,不用android自带的了,用java sdk试试,看看能不能运行起来。
用自己安装的jdk17,也不行,没招了
用VarHandle能不能替代Unsafe? https://juejin.cn/post/6844904174669430797
建议分开处理 if (高版本) { // 用VarHandler } else { // 用Unsafe }
我试一下。 这句异常,是在哪个方法中抛出的?你能不能找到?
> JDKUtils这个类不做混淆可以么? 不光JDKUtils,fastjson2下的所有文件都没有混淆,还是报错。 java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType at com.alibaba.fastjson2.TypeReference.(SourceFile:1) 可以确定,是以下代码报的错 JSONArray dataArray = jsonObject.getJSONArray("data"); TypeReference type = new TypeReference() {}; dataArray.to(type.getType());