Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android init.gradle文件的用途是什么_Android_Maven_Android Studio_Gradle - Fatal编程技术网

Android init.gradle文件的用途是什么

Android init.gradle文件的用途是什么,android,maven,android-studio,gradle,Android,Maven,Android Studio,Gradle,有人能解释一下init.gradle文件的用途的含义吗,因为它似乎只是在复制代码: buildscript { repositories { maven { url "https://someEnterpriseURL" } } } allprojects { repositories { maven { url "https://someEnterpriseURL"

有人能解释一下init.gradle文件的用途的含义吗,因为它似乎只是在复制代码:

  buildscript {
    repositories {
        maven {
            url "https://someEnterpriseURL"
        }
    }
}

allprojects {
    repositories {
        maven {
            url "https://someEnterpriseURL"
        }
    }
}
造成混淆的原因是,在projects build.gradle文件中,其定义如下:

    buildscript {
    repositories {
        maven {
            url "https://someEnterpriseURL"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.1'

    }
}

allprojects {
    repositories {
        maven {
            url "https://someEnterpriseURL"
        }
    }
}

那么,为什么还要在init.gradle文件中定义它呢?当我在build.gradle文件中定义相同的东西时,如何帮助开发人员拥有init.gradle文件?

您的
build.gradle文件是每个项目和每个模块的。您的
init.gradle
文件是根据每个-
${gradle\u USER\u HOME}
设置的(默认设置为
~/.gradle
或本地gradle安装的gradle主目录)。我希望看到大型组织中更常用的
init.gradle
文件,试图跨多个项目和开发团队标准化一些gradle构建策略

引述:

以下是几种可能的用途:

  • 设置企业范围的配置,例如在何处查找自定义插件

  • 基于当前环境设置属性,例如开发人员的机器与持续集成服务器

  • 提供生成所需的有关用户的个人信息,例如存储库或数据库身份验证凭据

  • 定义特定于机器的详细信息,例如JDK的安装位置

  • 注册生成侦听器。希望监听Gradle事件的外部工具可能会发现这很有用

  • 注册构建记录器。您可能希望自定义Gradle记录其生成的事件的方式


正如您所知,gradle是Ant工具和Maven工具的组合。您可能已经了解了ant工具的工作原理(在本地添加JAR或LIB)和maven工具(从云中添加JAR和LIB文件,并编写脚本在构建过程中从云中下载)。所以基本上,这个init.gradle文件通常用于一些全球可用的jar(通常用于放置在云中的大型组织),这些jar将包含服务器的url或地址,以便下载jar并将其缓存在gradle包装器中(下载后可以在.gradle->caches中看到云上的jar文件)

在一个组织中设想一个前景,该组织有一个随时更新的支持jar文件,并且该组织中还有另一个团队需要该jar用于其应用程序。所以这里我们的家伙“init.gradle”帮助我们解决这个问题。每当后期团队构建应用程序时,自动从服务器下载最新的jar