Search Unity

이제 Android의 64비트 지원이 의무화되고 있습니다. 유니티도 이에 동참하여 Unity 2018.2에 이어 Unity 2017.4에서도 Android 64비트를 지원하게 되었습니다. Google의 64비트 요구사항, 64비트 ARM의 장점 및 Unity에서 지원하는 Android App Bundle에 대해 자세히 알아보겠습니다.

 

미래에 대비할 있는 준비

Android 환경에서 64비트 아키텍처는 2014년에 배포된 롤리팝(Lollipop, v5.0)부터 지원되기 시작했습니다. Android 파이(Pie, v9.0)는 32비트와 64비트를 모두 지원하지만, 64비트 전용 시스템을 빌드할 수 있는 최초의 버전입니다. ARM의 자료에 따르면, 현재 출시되고 있는 기기의 80% 이상이 64비트 및 32비트를 함께 지원하고 있습니다.

Google은 2019년 8월 1일부터 시행되는 Google Play의 64비트 앱 정책에 대한 상세정보와 일정을 발표했습니다. 이 정책에 따르면 네이티브 코드가 포함된 새로운 앱을 출시하거나 기존 앱을 업데이트할 때는 32비트 버전뿐만 아니라 64비트 버전을 반드시 포함하여 Google Play에 게시해야 합니다. 한편 Google Play는 Unity 5.6.6 이전 버전으로 제작된 기존 게임에 대한 지원을 2021년 8월까지로 연장하며, 2021년 8월 1일부터는 64비트 지원 기기에서 64비트 버전이 없는 앱에 대한 서비스를 중단할 예정입니다. 자세한 내용은 Google의 개발자 블로그를 확인하시기 바랍니다.

ARM 64비트는 보안 강화, 성능 향상, 대용량 메모리 활용, 수치 정밀도 향상 및 풍부한 명령어 세트와 같은 다양한 장점을 제공합니다.

 

Unity 2018.2에서 지원하는 64비트 ARM(ARMv8), 2017.4 LTS에서도 지원

Unity 2018.2에 이어, LTS(Long Term Support, 장기 지원)의 일환으로 이제 2017.4 LTS에서도 64비트 Android를 2020년 3월까지 지원합니다. 이에 따라 Unity의 가장 안정된 버전에서 64비트의 장점을 활용할 수 있으며 2019년 8월에 시행되는 Google Play 스토어 정책을 준수할 수 있습니다. 이제 Unity 2017.4.16f1부터 64비트 ARM을 이용할 수 있습니다.

 

Android App Bundle APK 크기 최적화

32비트 및 64비트 바이너리를 모두 포함할 경우 APK 크기가 커지고, APK를 여러 개 생성함으로 인해 복잡도가 증가하는 것에 대해 많은 우려가 있었습니다.

이 문제를 해결하고자 Unity 2018.3에서는 앱의 컴파일된 코드와 리소스를 모두 포함하는 새로운 업로드 포맷인 Android App Bundle을 지원합니다. 단, 이 포맷을 사용할 경우 APK 생성과 Google Play로의 서명이 지연됩니다.

이제는 Unity 2017.4 LTS에서도 App Bundle이 지원되어 2017.4.17 버전부터 사용하실 수 있습니다.

 

64비트에 대응할 있는 미래형 Unity 게임 제작

64비트 지원 기기에 대한 자세한 정보는 ARM의 “모바일용 64비트 컴퓨팅” 백서에서 확인하실 수 있습니다. 또한 David Whaley가 Droidcon SF 2018에서 발표한 “Moving with the Android ecosystem towards a 64-bit r-Evolution(64비트로 나아가는 Android 에코시스템 혁명)”을 시청해 보시기 바랍니다.

 

Android x86 지원

유니티는 Android ARM 64비트 지원을 추가하는 동안 Android x86의 사용 현황을 검토했습니다. 그 결과 시장에 보급된 x86 Android 기기의 수가 적어 극소수의 사용자만 Unity의 x86 Android 지원을 사용한다는 것을 알 수 있었습니다. 이에 따라 Android x86 지원은 Unity 2019.2부터 중단될 예정이며 Unity 2019.3에서는 관련 기능이 완전히 삭제됩니다. 다만 Unity 2018 및 2018 LTS에서는 남은 서비스 기간 동안 Android x86에 대한 지원이 계속될 예정입니다.

 

16 코멘트

코멘트 구독

코멘트를 달 수 없습니다.

  1. Hi!
    Unity 5.6.7 is included? If not we need to go back to unity 5.6.6?

  2. FFing Google is seriously crap. I have been trying to get my Unity build app uploaded into Play store all day now, and it keeps blarching about not being ready for August 2019 change of 64 bit! IT IS NOT august yet AND I have now put in the Bundle setting. Only just found out it defaults to Mono each time and it removed the 64 bit from the settings..So now on IL2CPP and hope it will work.

  3. I was reading in an article that the disadvantage of ARM systems device enumeration which is a no brainer on x86 systems due to industry standards like BIOS/UEFI. But the advantages has mentioned above is more and good to use for future apps android apps.
    https://www.ingic.ae/android-app-development/

  4. Output arm64 on 2017.4.24 does not work. In the console, I see “il2cpp.exe did not run properly

  5. You mentioned a 2018 LTS version?

  6. Hi!
    After migrationg from 2017.2 to 2017.4 i can’t access to android disk operations in release mode, just in debug. Here is my manifest part
    <!—->

    <!—->

    Please, fix this =)

    1. Hello Teq,
      The forum post information is helpful to describe the issue, but we’d appreciate if you can submit a bug, so we can track resolution.
      thanks
      JC

  7. Stefan Hollekamp

    3월 6, 2019 7:42 오전

    can not build for Android on 2018.3.x
    with 2018.2.20 it all works like a breeze…. 32 & 64 + .Net3.5 or 4.0 no problem
    but with Unity 2018.3.6 no Android build possible… also with a blank project ..
    looks like Mac User get no support anymore… :-(

  8. Nice.Please optimize unity shadow system for mobile devices too.it drops FPS dramatically even you reduce all settings to lowest.

  9. Unity 2017 LTS experimental arm64 support is production ready?

    1. Hello yuewah,
      The “experimental” label has stuck but we are removing it in next iteration and we are confident it is production ready.
      thanks
      JC

  10. ““Moving with the Android ecosystem towards a 64-bit r-Evolution”. Video is unavailable.

    1. Hi Tim,
      The video is on Youtube https://www.youtube.com/watch?v=0ybsNuO_pvM, published by DroidCon SF (sf.droidcon.com)
      The link works well from our side. Please try again.
      JC

  11. but defers APK generation and signing to Google Play
    Why?

    1. Hello
      I encourage you to read more about Android App Bundle to see the benefits:
      https://developer.android.com/platform/technology/app-bundle/

      It’s optional to use, but we think it simplifies making both 32/64bit versions while optimizing distribution (size) of the APK
      JC