Ani*_*kar 87 android android-studio build.gradle
我正在尝试将Android异步Http客户端的依赖项添加到我的项目中.所以项目中有两个build.gradle文件.

根据我的理解,有不同类型的依赖:
这个问题是关于buildScript的依赖关系的存储库,解释一下前两种类型.
另外build.gradle(Project:My-app)说
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Run Code Online (Sandbox Code Playgroud)
所以我想Android Asynchronous Http Client的依赖代码应该在build.gradle(Module:app)中添加.
如果有人能够清楚地了解所有这些以便更好地理解,那就太棒了.
hrs*_*krs 39
build.gradle(Project:My-app)
顶级构建文件,您可以在其中添加所有子项目/模块通用的配置选项.
每个项目都包含一个top-level gradle file.它通常包含common configs所有人modules.无论包含在内top-level gradle,它都将影响所有人modules.
例如:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-alpha3'
//Maven plugin
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)
build.gradle(Module:app)
构建特定模块的文件(添加依赖项,签署配置,构建类型,风格等)
所有modules具有特定gradle文件.无论此gradle文件中包含哪些内容,它都只会影响其中module包含的内容.
例如:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.hrskrs.gesturefun"
minSdkVersion 10
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
zipAlignEnabled true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
zipAlignEnabled true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':gesture-fun')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.jakewharton:butterknife:7.0.1'
}
Run Code Online (Sandbox Code Playgroud)
Sur*_*gch 36
这有点令人困惑,因为Android Studio默认显示两个build.gradle文件紧挨着(使用Android视图时).
如果切换到"项目"视图,则可以看到实际结构以及不同build.gradle文件的位置.
的build.gradle(项目:为MyApplication)文件是在项目的根文件夹及其配置设置应用到项目中的每个模块.模块是较大项目的一个孤立的部分.在一个多模块项目中,这些模块有自己的工作,但它们共同构成整个项目.大多数Android项目只有一个模块,即app模块.
这里的build.gradle(Module:app)文件位于该app文件夹中.其构建设置仅适用于app模块.如果有另一个模块,那么该模块也将拥有自己的build.gradle文件.作为一个例子,我创建了一个包含三个模块的库项目:库模块,演示应用程序模块和我计划用于测试的另一个应用程序模块.他们每个人都有自己的build.gradle文件,我可以调整.
在基本项目中,您需要编辑的几乎所有内容都将位于应用程序模块的build.gradle文件中.你可以这样记住它:
你正在创建一个应用程序,所以转到
build.gradle(Module:app)文件.
小智 5
gradle关于这两个文件的关系, hrskrs已经解释得很清楚了\xef\xbc\x8can,我会做一些补充。
如果你的项目只有一个Module(比如app ),那么最上面的build.gradle(Project:My-app)的优势就表现的不是很明显。因为你可以在build.gradle(Module:app)中配置关于Module的所有内容,并且以后升级时只修改一个文件。
\n但是如果你的项目有五个模块,并且恰好它们有相同的依赖A,如果你不\xe2\x80\x99t使用顶层的build.gradle (项目:My-app)你需要维护以下五个文件天。
\n顺便说一句,build.gradle (Module:app)可以覆盖 build.gradle (Project:My-app)。
\n这样的设计可以提高app的可维护性。
\n| 归档时间: |
|
| 查看次数: |
39874 次 |
| 最近记录: |