尝试玩转arfoundation,解决arfoundation-samples 编译失败的问题

 

在研究arfoundation的时候,需要看一些arfoundation的例子,在编译的过程中,出现了一些编译的问题。

arfoundation-samples的地址:https://github.com/Unity-Technologies/arfoundation-samples

看起来是Gradle编译的问题,尝试解决

在查了资料之后,需要确认UnityGradle的支持。

为了支持Android 11API级别30),程序包可见性<queries>元素已添加到AR FoundationARCore扩展和UnityARCore SDK1.19或更高版本)中。当这些版本的ARCoreUnity 2018.4或更高版本一起使用时, <queries>元素需要Gradle 5.6.4或更高版本。

在大多数情况下,使用Android Gradle插件版本3.6.0就足够了。要确认Android Gradle插件与您使用的Gradle版本之间的兼容性,请查阅Android Gradle插件兼容性表

Unity Gradle支持

以下各节列出了受支持的Unity版本的说明。不支持Gradle自定义的Unity版本无法直接从Unity构建中定位Android 11API级别30)( targetSdkVersion 30 )。

有关更多信息,请参见以下文章:

Unity 2020.1或更高版本

这些版本是使用Gradle 5.6.4或更高版本以及Gradle插件3.6.0或更高版本构建的。无需采取任何措施。

Unity 2019.32019.4

注意:以下定制仅在Unity 2019.3补丁7和更高版本上受支持。

  1. 转到首选项>外部工具> Android> Gradle ,然后将自定义Gradle设置为Gradle 5.6.4或更高版本。请参阅Gradle构建工具以进行下载。

  1. 转到项目设置>播放器> Android选项卡>发布设置>构建,然后选择两个:
     
    1. 自定义主Gradle模板
    2. 自定义启动器Gradle模板

  1. 将以下更改应用于两个生成的文件:
     
    • Assets/Plugins/Android/mainTemplate.gradle
    • Assets/Plugins/Android/launcherTemplate.gradle

如果存在,请在文件顶部删除以下注释:

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

在2个文件顶部插入以下行,注意由于防火墙问题,我们不能访问googlemaven,所以在这我们使用阿里的maven地址:

buildscript {

    repositories {

        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}

        google()

        jcenter()

    }

    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 {

      maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}

      google()

      jcenter()

      flatDir {

        dirs 'libs'

      }

   }

}

2019.12019.2

  1. 转到偏好设置”>“外部工具”>“ Android”>“ Unity安装的Gradle” 。清除该选项,然后指定5.6.4或更高版本的自定义版本。请参阅Gradle构建工具以进行下载。

  1. 转到项目设置>播放器> Android选项卡>发布设置>生成,然后选择自定义Gradle模板

  1. 编辑生成的文件Assets/Plugins/Android/mainTemplate.gradle ,然后根据您使用的Gradle版本将com.android.tools.build:gradle依赖项设置为3.6.0或更高版本。
     

buildscript {
    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'
    }
}

Unity 2018.4

注意:以下定制仅在Unity 2018.4补丁24及更高版本上受支持。

  1. 转到构建设置”>“ Android” ,然后将构建系统设置为Gradle以使用自定义的Gradle版本。

  1. 转到首选项”>“外部工具”>“ Android”>“ Unity一起安装的Gradle” 。清除该选项,然后指定5.6.4或更高版本的自定义版本。请参阅Gradle构建工具以进行下载。

  1. 转到项目设置>播放器> Android选项卡>发布设置>生成,然后选择自定义Gradle模板

  1. 编辑生成的文件Assets/Plugins/Android/mainTemplate.gradle ,然后根据您使用的Gradle版本将com.android.tools.build:gradle依赖项设置为3.6.0或更高版本。
     

buildscript {
    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'
    }
}

参考文献:

https://developers.google.com/ar/develop/unity/android-11-build

https://blog.csdn.net/qq_14838361/article/details/100011804

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XR风云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值