Skip to content

[BUG] Android - NoSuchMethodError: No virtual method getBoolean(Ljava/lang/Object;J)Z in class Lsun/misc/Unsafe; #2497

@xDragonZ

Description

@xDragonZ

问题描述

https://github.com/alibaba/fastjson2/blob/main/core/src/main/java/com/alibaba/fastjson2/writer/FieldWriterBoolValField.java#L28

Caused by java.lang.NoSuchMethodError: No virtual method getBoolean(Ljava/lang/Object;J)Z in class Lsun/misc/Unsafe; or its super classes (declaration of 'sun.misc.Unsafe' appears in /system/framework/core-libart.jar)
       at com.alibaba.fastjson2.writer.FieldWriterBoolValField.getFieldValueBoolean(FieldWriterBoolValField.java:35)
       at com.alibaba.fastjson2.writer.FieldWriterBoolValField.getFieldValue(FieldWriterBoolValField.java:24)
       at com.alibaba.fastjson2.writer.FieldWriterBoolVal.write(FieldWriterBoolVal.java:29)
       at com.alibaba.fastjson2.writer.ObjectWriterAdapter.write(ObjectWriterAdapter.java:326)
       at com.alibaba.fastjson2.JSON.toJSONString(JSON.java:3076)

环境信息

com.alibaba.fastjson2:fastjson2:2.0.49.android5

com.android.application version "8.3.2"

Gradle 8.7

Android Studio Iguana | 2023.2.1 Patch 2
Runtime version: 17.0.9+0--11185874 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.

minSdkVersion 21
targetSdkVersion 33

重现步骤

JSON.toJSONString(xxx, JSONWriter.Feature.FieldBased);

附加信息

Ref? : #2041

设备:

Oppo F1s, A57, A1601
Galaxy J1 Mini, Galaxy Note4, Galaxy J2 Prime
Vivo Y55A,
Xiaomi HM Note 2

VMOS Virtual Machine, Android 5.1 (64 Bit) 可以重现这个崩溃

image

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingfixed

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions