作者:ljp3044544 | 来源:互联网 | 2023-05-23 18:03
我正在尝试将Android异步Http客户端的依赖项添加到我的项目中.所以项目中有两个build.gradle文件.
![在此输入图像描述](https://img.php1.cn/3cd4a/1eebe/cd5/45a090220e38e09d.webp)
根据我的理解,有不同类型的依赖:
在build.gradle的根级别定义的一个(Project:My-app)
一个在build.gradle的构建脚本中(Project:My-app)
另一个是build.gradle(Modules:app)
这个问题是关于buildScript的依赖关系的存储库,解释一下前两种类型.
另外build.gradle(Project:My-app)说
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
所以我想Android Asynchronous Http Client的依赖代码应该在build.gradle(Module:app)中添加.
如果有人能够清楚地了解所有这些以便更好地理解,那就太棒了.
1> hrskrs..:
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
}
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'
}
2> Suragch..:
这有点令人困惑,因为Android Studio默认显示两个build.gradle
文件紧挨着(使用Android视图时).
![在此输入图像描述](https://img.php1.cn/3cd4a/1eebe/cd5/e88efe5b0a13a7fa.webp)
如果切换到"项目"视图,则可以看到实际结构以及不同build.gradle
文件的位置.
![在此输入图像描述](https://img.php1.cn/3cd4a/1eebe/cd5/ed19db63ee478b98.png)
的build.gradle
(项目:为MyApplication)文件是在项目的根文件夹及其配置设置应用到项目中的每个模块.模块是较大项目的一个孤立的部分.在一个多模块项目中,这些模块有自己的工作,但它们共同构成整个项目.大多数Android项目只有一个模块,即app模块.
这里的build.gradle
(Module:app)文件位于该app
文件夹中.其构建设置仅适用于app模块.如果有另一个模块,那么该模块也将拥有自己的build.gradle
文件.作为一个例子,我创建了一个包含三个模块的库项目:库模块,演示应用程序模块和我计划用于测试的另一个应用程序模块.他们每个人都有自己的build.gradle
文件,我可以调整.
![在此输入图像描述](https://img.php1.cn/3cd4a/1eebe/cd5/6789f68dabde0aed.png)
在基本项目中,您需要编辑的几乎所有内容都将位于应用程序模块的build.gradle
文件中.你可以这样记住它:
你正在创建一个应用程序,所以转到build.gradle
(Module:app)文件.
进一步阅读
配置您的构建(Android文档 - 非常易读且有用)
多项目构建简介(Gradle文档)