Search Unity

Android サポートに関するお知らせ:64 ビット対応および App Bundle サポートの 2017.4 LTS バックポート

, 3月 5, 2019

いよいよ Android アプリは 64 ビット対応が必須とされる時代がやってきます。Unity はこれをポジティブなことであると考えています。Unity では、Android アプリの 64 ビット対応サポートを Unity 2018.2 で追加しました。加えて、Unity 2017.4 LTS にも同サポートがバックポートされました。この記事では、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 ビットの両方に対応しています。

64 ビット対応の義務化に向けて準備を整えるための詳細な情報とタイムラインが Google から提供されています。これによると、2019 年 8 月 1 日より、Google Play に公開する、ネイティブコードを含む一切の新しいアプリケーションおよびアプリケーション更新に、32 ビット版に加えて 64 ビット版の提供が義務付けられます。Google Play は 2021 年 8 月まで、バージョン 5.6 以前の Unity を使用した既存のゲームの配信を延長するとしていますが、2021 年 8 月 1 日から、64 ビット版を含まないアプリケーションの 64 ビット対応デバイスへの 配信は停止される予定となっていますのでご注意ください。詳細は Google のデベロッパーブログ(英語) にてご確認ください。

ARM 64 ビットアーキテクチャーは、セキュリティの強化、パフォーマンスの向上、アドレス可能メモリの拡大、数値精度の向上、命令セットの増強など、様々な利点をもたらします。

Unity 2018.2 で追加された ARM 64 ビット(ARMv8)サポートの 2017.4 LTS へのバックポート

Unity 2018.2 で Android アプリの 64 ビット対応サポートが追加されましたが、これが長期サポート(LTS)の一環として Unity 2017.4 LTS にバックポートされました。このサポートは 2020 年 3 月まで継続されますので、最も安定したバージョンの Unity の使用を継続しながら 64 ビットの利点を享受しつつ、2019 年 8 月から Google Play ストアにおいて課せられる条件にも対応することができます。ARM 64 ビットサポートはすでに利用可能です(Unity 2017.4.16f1 から)。

APK のサイズを最適化する Android App Bundle サポートの追加

皆様から、APK に 32 ビットと 64 ビットのバイナリが両方含まれることによるサイズの増大や、複数の APK が生成されることよる複雑性の増加に関する懸念の声をいただきました。

これを解決すべく、Unity 2018.3 では Android App Bundle サポートを追加しました。これは、アプリケーションのコンパイル済コードとリソースをすべて含んでいながらも APK 生成と Google Play への署名を遅延させる、新しいアップロード形式です。

また、Android App Bundle サポートも Unity 2017.4 LTS へバックポートされます。これはバージョン 2017.4.17 から使用可能となります。

ぜひ、このタイミングで皆様の Unity ゲームを、将来にわたって遊び続けられるようにするための準備を始めてください!

詳細は、ARM のホワイトペーパー「64-bit Computing for Mobile」および Droidcon SF 2018 で行われた David Whaley 氏によるセッション「Moving with the Android ecosystem towards a 64-bit r-Evolution」をご覧ください。

x86 ベースの Android サポートについて

Unity では、Android の ARM 64 ビットサポートを追加した一方で、x86 ベースの Android の使用状況の調査も行いました。その結果、x86 ベース Android デバイスの市場への供給は非常に限られたものであり、Unity の x86 ベース Android サポートの導入も非常に狭い範囲に留まったことが分かりました。このため、x86 ベースの Android サポートはバージョン 2019.2 をもって廃止となり、Unity 2019.3 をもって完全に削除されます。Unity 2018 の各バージョンと、2018.4 LTS における x86 ベース Android のサポートは、当該バージョンのライフサイクルが終了するまで維持されます。

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. JC Cimetiere

      3月 11, 2019 5:58 pm

      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 am

    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. JC Cimetiere

      3月 6, 2019 1:31 am

      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. JC Cimetiere

      3月 6, 2019 4:15 am

      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. JC Cimetiere

      3月 6, 2019 1:35 am

      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