使用 Unity 建構適用於 Android 11 的應用程式

為支援 Android 11 (API 級別 30),我們已將「套件瀏覽權限」<queries> 元素新增至 AR Foundation 的 ARCore 擴充功能 (1.19 以上版本)。使用這些 ARCore 版本時,<queries> 元素需要 Gradle 5.6.4 以上版本。

在大多數情況下,使用 Android Gradle 外掛程式 3.6.0 版就足以應付需求。如要確認 Android Gradle 外掛程式與您使用的 Gradle 版本之間的相容性,請參閱 Android Gradle 外掛程式的相容性表

Unity Gradle 支援

以下各節列出支援的 Unity 版本操作說明。

詳情請參閱下列文章:

  • Unity 的 Gradle 支援
  • Android 的「Configure Gradle Build」

Unity 2021 以上版本

所有 Unity 2021 版本都支援指定 Android 11 做為目標版本。如需詳細版本資訊,請參閱 Unity 的 2021 年 Android 版 Gradle 說明文件。摘要:

  • Unity 2021.1 至 2021.1.15f1 版本 (含) 隨附 Gradle 5.6.4 以上版本 (以及 Gradle 外掛程式 3.6.0 以上版本)。您無須採取任何行動。

  • Unity 2021.1.16f1 以上版本隨附 Gradle 6.1.1 以上版本 (以及 Gradle 外掛程式 4.0.1 以上版本)。您無須採取任何行動。

Unity 2020

所有 Unity 2020 版本都支援以 Android 11 為目標。如需詳細版本資訊,請參閱 Unity 的 2020 年 Android 版 Gradle 說明文件。摘要:

  • Unity 2020.1、2020.2 和 2020.3 至 2020.3.14f1 以上版本皆隨附 Gradle 5.6.4 以上版本 (以及 Gradle 外掛程式 3.6.0 以上版本)。您無須採取任何行動。

  • Unity 2020.3.15f1 以上版本隨附 Gradle 6.1.1 以上版本 (以及 Gradle 外掛程式 4.0.1 以上版本)。您無須採取任何行動。

Unity 2019.4

  1. 在 Unity 中開啟 Unity Preferences > External Tools,並將自訂 Gradle 設為 Gradle 5.6.4 以上版本。如要下載,請參閱 Gradle 建構工具

    外部工具 (Android 窗格) 的螢幕截圖,顯示手動指定的 Gradle 路徑。

  2. 前往 Project Settings > Player > Android > Publishing Settings > Build,然後選取兩者:

    1. Custom Main Gradle Template
    2. Custom Launcher Gradle Template

    螢幕截圖:顯示「發布設定」和「建構」窗格,並已選取兩個 Gradle 範本選項

  3. 對兩個產生的檔案套用下列變更:

    • Assets/Plugins/Android/mainTemplate.gradle
    • Assets/Plugins/Android/launcherTemplate.gradle

    請移除檔案頂端的以下註解 (如有):

    // GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
    

    在檔案頂端插入下列幾行:

    buildscript {
        repositories {
            google()
            mavenCentral()
        }
        dependencies {
            // Must be Android Gradle Plugin 3.6.0 or later. For a list of
            // compatible Gradle versions refer to:
            // https://developer.android.com/studio/releases/gradle-plugin
            classpath 'com.android.tools.build:gradle:3.6.0'
        }
    }
    
    allprojects {
       repositories {
          google()
          mavenCentral()
          flatDir {
            dirs 'libs'
          }
       }
    }