具有gradle的本地模块依赖性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了具有gradle的本地模块依赖性相关的知识,希望对你有一定的参考价值。
我最近决定将我的android项目从ant切换到gradle构建系统。手动管理团队成员之间的库和模块依赖关系很快就变得工作量很大。
一切开始顺利。我创建了一个新的gradle项目,移动了我的资源和资源,并摆脱了我们挂在/libs
文件夹周围的所有主要第三方库.jars,以便可以利用新的gradle Maven中央依赖项。那里没有问题。
现在,我试图找到一种很好的方法来建立对不在maven Central上的较不流行的模块的依赖关系。我使用了一些依赖的小型android模块(例如,表单验证器,helper util模块等)。问题在于这些模块不只是.jars,还具有资源。据我所知,我不能仅仅将这些模块放在/libs
文件夹中,并对其建立依赖关系。我已经阅读了.aar文件,并正在寻找有关它们是否可以解决我的问题的建议,还是我忽略了一些简单的问题。下面是我当前的目录结构(带有一些注释)和我的gradle.build
。
目录结构
/<project-directory>
/build
/gradle
/<application-directory>
/build
/src
/libs <-- where I would expect to put non-maven modules
/Form-Validator <-- MyApplication depends on this module
/build.gradle
/src
/java
/res
... etc etc etc
/Other-Module
/build.gradle (seen below)
build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.14.2'
}
}
apply plugin: 'com.android.application'
repositories {
jcenter()
mavenCentral()
flatDir {
dirs 'libs'
}
}
android {
compileSdkVersion 21
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.#####.############"
minSdkVersion 16
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:21.0.3'
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:cardview-v7:21.0.3'
compile 'com.android.support:recyclerview-v7:21.0.3'
compile 'com.google.code.gson:gson:2.3.1'
compile 'com.squareup.retrofit:retrofit:1.8.0'
compile 'com.squareup.okio:okio:1.1.0'
compile 'com.squareup.okhttp:okhttp:2.2.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.0'
compile 'com.github.bumptech.glide:glide:3.4.0'
}
答案
您可以将本地Maven存储库添加到build.gradle:
另一答案
您当前可以使用JitPack。
以上是关于具有gradle的本地模块依赖性的主要内容,如果未能解决你的问题,请参考以下文章
如何使用模块化代码片段中的LeakCanary检测内存泄漏?
Android Gradle 插件自定义 Gradle 插件模块 ④ ( META-INF 中声明自定义插件的核心类 | 在应用中依赖本地 Maven 仓库中的自定义 Gradle 插件 )