android unity에서 Json parser 선택

Kim suho·2021년 12월 30일
0

Json parser로 쓰고 있는 newtonsoft Json 패키지를 IL2CPP를 위해 AOT가 지원되는 포크버젼으로 교체
https://github.com/jilleJr/Newtonsoft.Json-for-Unity

C#은 vm으로 .net framework를 사용합니다. .net framework의 open source 형태인 mono에서 공식릴리즈되는 newtonsoft.json은 잘 동작합니다.

다만 unity에서는 arm64 mono가 지원되지 않아서 안드로이드에서는 사용할 수 없네요.
이 이슈는 예전에 mono의 ARM64에 대한 AOT engine, AOT runtime이 open source가 아니어서 유니티가 mono대신 IL2CPP라는 방법으로 c#코드를 빌드하게 하였기 때문입니다.

IL2CPP는 .net이 중간 언어(IL)을 생성하므로 이것을 C++로 변환해서 사용하는 방법입니다.
IL2CPP로 빌드하면 newtonsoft의 공식버전은 AOT가 잘 되지 않아서 동작하지 않습니다.
위의 fork 버전으로 교체하면 잘 동작합니다.

profile
평범한 개발자

0개의 댓글