【问题标题】:Unity3D - failed Build Android AppBundle using GradleUnity3D - 使用 Gradle 构建 Android AppBundle 失败
【发布时间】:2019-08-10 11:46:37
【问题描述】:
目前,如果使用 Unity 的 Internal 系统构建,我的游戏构建成功。现在因为我需要AppBundle 而不是APK,所以我尝试将构建系统更改为Gradle,如下图所示:
但是,在Gradle 中它返回一个错误。
在 org.gradle.api.internal 类型的对象上找不到参数 [{name=com.google.android.gms.play-services-drive-11.0.4, ext=aar}] 的方法 implementation() .artifacts.dsl.dependencies.DefaultDependencyHandler。
注意:我使用的是 Unity v2017.4.30f1
有什么想法可以解决吗?
谢谢
【问题讨论】:
标签:
java
android
maven
unity3d
gradle
【解决方案1】:
将您的 mainTemplate.gradle 文件更改为以下内容:
buildscript {
repositories {
jcenter()
maven { url 'https://maven.google.com' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
}
}
allprojects {
repositories {
jcenter()
maven { url 'https://maven.google.com' }
flatDir {
dirs 'libs'
}
}
}
如果这不起作用,请尝试找到与您的 unity 版本兼容的版本,如果您更新了 unity,此文件可能会变得不兼容,从而阻止您进行 gradle 构建。
一个简单的解决方法是让 unity 为您自动生成 mainTemplate.gradle 文件,然后将您的更改应用到新文件:
1) 复制 Assets/Plugins/Android/mainTemplate.gradle 文件的当前内容。
(或者只是让源代码控制向您显示差异)
2) 删除 Assets/Plugins/Android/mainTemplate.gradle 文件。
3) 在 Android Player Settings 窗口 -> Publishing Settings:勾选“Custom Gradle Template”。这将为您生成一个新的 mainTemplate.gradle 文件。
4) 将新文件与旧文件进行比较 - 并将您需要的更改应用于新文件。
【解决方案2】:
如果您能分享构建失败的 build.gradle,那就太好了。
但是,根据您收到的错误,如果尚未应用,您能否应用插件“java-library”?
如果是多模块 gradle 项目,请为“allprojects”应用插件。否则需要为根项目添加。
apply plugin: 'java-library'