libgdx / gdx-ai

Artificial Intelligence framework for games based on libGDX or not. Features: Steering Behaviors, Formation Motion, Pathfinding, Behavior Trees and Finite State Machines
Apache License 2.0
1.18k stars 241 forks source link

When I use kryo to serialize btree on android, i got a exception that GuardEvaluator can bot be accessible #126

Closed kevinkwok326 closed 1 year ago

kevinkwok326 commented 1 year ago

Please help check how to slove it. on android run exception, but run normally on linux server.

Version of gdx-ai and/or relevant dependencies

gdx-ai 1.8.2 libgdx 1.9.11 kryo 5.3.0

Stacktrace

class=[java.lang.IllegalAccessException], errMsg=[java.lang.Class<com.badlogic.gdx.ai.btree.BehaviorTree$GuardEvaluator> ### is not accessible from**** java.lang.Class<com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$2>], stackTrace=[com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy$2.newInstance(DefaultInstantiatorStrategy.java:89) com.esotericsoftware.kryo.Kryo.newInstance(Kryo.java:1202) com.esotericsoftware.kryo.serializers.FieldSerializer.create(FieldSerializer.java:163) com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:122) com.esotericsoftware.kryo.Kryo.readObjectOrNull(Kryo.java:847) com.esotericsoftware.kryo.serializers.ReflectField.read(ReflectField.java:132) com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:129) com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:877) ]