用Unity试着做一个安卓平台的AR应用。安装好AR Foundation之后,试着导出一个简单的功能试一试,结果在Build的时候报错了,如下图。
第一个是这么一条错误。
Missing ‘package’ key attribute on element package at [:arcore_client:] AndroidManifest.xml:30:9-54
搜一下搜到了两篇一摸一样的问题。问题1、问题2
都同样提到了这一个 网址。
说是为了支持安卓11,ARCore对Gradle的版本要求提高到了5.6.4以上。估计是之前Unity自带的Gradle的版本是在此之下的。所以要改一改。
根据Unity对应的版本按照上面的 网址 的步骤操作一遍就好了。
我现在用的是2019.4,所以我的步骤就是
- 先到 这里 下载一个5.6.4以上版本的Gradle。我下的是6.7.1的complete,下载下来是一个压缩包,解压到自己喜欢的位置。
- 然后再打开
Preferences->External Tools
把Gradle的路径改为刚才解压的路径。 - 然后再打开
Project Settings > Player > Android(就是安卓那个图标)-> Publishing Settings
,把这两个勾上,然后他会在下面对应的路径的地方各生成一个文件。 - 然后用记事本打开这两个文件,把第一行的
// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
删掉,在第一行粘贴上下面的内容。两个文件如法炮制,然后保存。
buildscript {
repositories {
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 {
google()
jcenter()
flatDir {
dirs 'libs'
}
}
}
不出意外的话这样就解决了,再次Build就没问题了。