- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是gradle脚本的新手,只有基础知识。
我的项目中有多个模块。这是屏幕截图。
在我的项目 build.gradle
文件中,我有基本的配置。
据我所知,此文件用于全局项目配置。
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.2+'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
maven { url "http://dl.bintray.com/populov/maven" }
jcenter()
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
}
我所有的模块 build.grade
文件都有不同的依赖关系。例如。
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
//noinspection GradleDependency
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
compile 'com.etsy.android.grid:library:1.0.5'
compile 'com.squareup.picasso:picasso:2.3.2'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.fasterxml.jackson.core:jackson-databind:2.5.3'
compile 'com.fasterxml.jackson.core:jackson-core:2.5.3'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.5.3'
compile 'com.android.support:support-v4:22.2.0'
compile 'com.github.ksoichiro:android-observablescrollview:1.5.1'
compile 'com.viewpagerindicator:library:2.4.1@aar'
compile 'com.android.support:cardview-v7:21.0.3'
compile 'com.android.support:recyclerview-v7:21.0.3'
compile 'org.codehaus.jackson:jackson-mapper-asl:1.9.13'
compile('com.mikepenz.materialdrawer:library:2.9.7@aar') {
transitive = true
}
compile project(':horizontalrecyclerview')
compile project(':ultimaterecyclerview')
compile 'org.lucasr.twowayview:core:1.0.0-SNAPSHOT@aar'
compile 'org.lucasr.twowayview:layouts:1.0.0-SNAPSHOT@aar'
compile 'com.yqritc:recyclerview-flexibledivider:1.2.4'
compile 'de.greenrobot:eventbus:2.4.0'
compile 'com.malinskiy:superrecyclerview:1.1.0'
compile 'com.android.support:support-v4:22.2.0'
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:recyclerview-v7:22.1.1'
}
问题是什么?我的某些模块需要相同的库依赖项,或者所有模块都需要相同的库。当我将依赖项添加到每个模块 build.gradle
文件时,我在项目构建时遇到下一个错误。
Error:Execution failed for task ':app:processDebugResources'.
> Error: more than one library with package name 'com.mikepenz.iconics'
You can temporarily disable this error with android.enforceUniquePackageName=false
However, this is temporary and will be enforced in 1.0
我该如何解决这个问题?将依赖项添加到根 build.gradle
文件或其他一些解决方案中。
或者简单地听从建议并设置
android.enforceUniquePackageName=false
最佳答案
有多个存档具有相同的包(通过在其中包含类,或者在 AndroidManifest.xml
中包含类。我不确定)。这是文件开发人员的错误。
如果将以下任务添加到构建脚本并执行 :lib-that-has-error:extractCompileDependencies
,您将在 build/compileDependencies
中找到提取的依赖项.
解决这个问题:
def compileDependenciesBuildDir = new File(buildDir, 'compileDependencies')
task copyCompileDependencies(type: Copy) {
from configurations.compile
into compileDependenciesBuildDir
}
task extractCompileDependencies() {
inputs.files(copyCompileDependencies)
doLast {
compileDependenciesBuildDir.listFiles(new FileFilter() {
@Override
boolean accept(File pathname) {
return pathname.isFile()
}
}).each {
def unzippedDirectory = new File(it.parent, it.name + '-unzipped')
ant.unzip(src: it, dest: unzippedDirectory, overwrite: 'true')
def classesJarFile = new File(unzippedDirectory, 'classes.jar')
if (classesJarFile.exists()) {
ant.unzip(src: classesJarFile, dest: new File(unzippedDirectory, 'classes'), overwrite: 'true')
}
}
}
}
关于android - 如何为所有子项目/模块应用依赖项 Gradle Android Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30683028/
我正在开发几个不同的 Joomla 附加组件,但希望将它们保留为单独的 git 存储库,因为它们有不同的开发团队(甚至组织)。但是,我也想将它们作为共享相同 Joomla 基础(被 .gitignor
最近,由于行销人员的要求,我已将Optimobile SDK添加到我正在工作的项目中。 在将其添加并在设备上安装新的apk之后。我注意到,我的应用程序中添加了两个新权限,即无需用户交互即可发送SMS的
我遇到了gradle plugin帮助我处理带点的属性名称。像这样使用时,它在单个项目中工作正常: apply plugin: 'config' buildscript { repositor
我很难设置一组相互依赖的相关 Maven 项目。 这是我的简化案例: pom.xml -- parent pom \base\ pom.xml src\main\java\Ba
我正在研究 Apache Ant 项目的发展,以使用 Gradle 对其进行编译,并且我有不同的子项目集。 我的目标是将主项目的输出用作某些子项目的依赖项。全局配置如下: MainProject:
对于每个用户帐户,我尝试计算他们今天有多少个事件。 我的数据结构如下: accounts - { "-KaxcGWx1-a8s7dhsjhsd" : { "name" : "Bill", "ev
我有两个项目: workspace Project1 |--build.gradle |--settings.gradle |--Subproject1 | |--build.
我们有一个 Maven 多模块项目,我们希望逐步迁移到一个 gradle 项目。 对于初学者,我只想将几个子项目迁移到 gradle,但将它们作为子项目保留到父 maven-project 构建。 有
我的 gradle 项目结构如下所示: geode-core geode-lucene extensions/geode-modules extensions/geode-modules-sessio
我有一个基于 CMake 的项目,具有以下“设计”: add_subdirectory(first_lib) add_subdirectory(second_lib) add_subdirectory
我创建了一个表单,其中有 2 个部分,一个是标题(父级),另一个是子级。在标题部分,我创建了一个字段,如项目(下拉),如 netsuite、SFDC 等,在子部分,我创建了另一个字段,如子项目。当我根
我正在创建一个新的应用程序 MyApp,我决定将应用程序的某些部分放在一个单独的框架 MyFramework 中,而不是应用程序本身,以使其可重用在其他项目中。该框架有自己的项目 (MyFramewo
想象一个包含多个组件的整体项目: 基本 我 网络 app-a app-b app-c 现在,假设 web 依赖于依赖于 basic 的 io,所有这些东西都在一个 repo 中,并且有一个 CMake
我有一个 SBT 项目,特别是 Play Framework 2.1 项目,它在配置中指定了许多子项目。编译时依赖项似乎工作正常,但“清理”似乎只清理当前选定的项目,不包括其依赖项。有什么方法可以清理
我有一个工作的多模块 Play 2.2 应用程序,它的组织方式是这样的...... myApp + app + conf + project + build.propertie
我无法理解模块和子项目之间的区别。有什么区别,哪个应该用于模块应用程序。 最佳答案 使用这两种方法,您都可以单独编译、运行和测试代码。 使用子项目,您可以共享设置,并且它通过源代码连接到依赖它的项目:
我有一个使用 Scala 2.10 的项目和一个使用 Scala 2.11 的项目。它们依赖于一个可以同时编译的通用项目。 lazy val foo = (project in file("foo")
如何让 gradle 克隆一个 git 存储库(到当前存储库的子存储库)并将其构建为子项目? 目前我有以下内容: settings.gradle: include 'contrib/dependenc
我在我的 gradle 项目中添加了一个子项目,现在每当我执行目标 check ,它还在我的子项目上运行测试。 我希望我可以运行 check - 主项目上的任务,将其指定为绝对任务 gradle :c
假设您有 2 个 gradle 项目。第一个是一个包含 2 个 java 子项目的多项目: rootProject :my:subProject1 :myother:subProjec
我是一名优秀的程序员,十分优秀!