【问题标题】: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'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-19
        • 2013-08-17
        • 2020-10-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-13
        • 2015-02-06
        相关资源
        最近更新 更多