-
Notifications
You must be signed in to change notification settings - Fork 495
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MethodHandle.invoke and MethodHandle.invokeExact are only supported starting with Android O (--min-api 26) #2041
Comments
用这个版本试试看 2.0.42.android4 |
用2.0.42.android4版本,不再提示only supported starting with Android O (--min-api 26)这个错误了 |
我找到了相似的问题,如下: |
我不熟悉android的混淆规则,希望你帮忙探索并且总结分享经验 |
我正在尝试解决混淆的问题,我将fastjson2放到我的项目里面,发现找不到sun.misc.Unsafe类。 |
用VarHandle能不能替代Unsafe? |
VarHandler在低版本不兼容,底层也是使用Unsafe实现的。 |
建议分开处理 |
JDKUtils这个类不做混淆可以么? |
可以确定,是以下代码报的错 |
[fastjson2 2.0.43]支持的minSdkVersion是26。minSdkVersion从16升级到26,apk包增加了8M多,有人和我遇到一样的情况吗?为什么会增加这么多,其中的原理又是什么?求知情者解答一下,不胜感激! |
android在minSDK低于23时,会默认压缩so库,当minSDK>=23时,将不再对so进行压缩,可能是这个原因。 |
谢谢,明白了 |
升级安卓插件版本到8.1.4后,同时升级至fastjson2:2.0.42后,出现如下错误:
MethodHandle.invoke and MethodHandle.invokeExact are only supported starting with Android O (--min-api 26)
所以,将minSdkVersion由16改为26
可以正常运行。
打包后发现,APK包不但增加了8兆,而且还崩溃,日志如下:
java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
at com.alibaba.fastjson2.TypeReference.(SourceFile:1)
请问最新的fastjson2,能不能适配minSdkVersion小于26情况。
相关版本信息如下:
id("com.android.application") version "8.1.4" apply false
id("org.jetbrains.kotlin.android") version "1.8.10" apply false
api 'com.alibaba.fastjson2:fastjson2:2.0.42'
distributionUrl=https://services.gradle.org/distributions/gradle-8.0-bin.zip
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
The text was updated successfully, but these errors were encountered: