Articles of gradle

无法解析项目:Android库和Java库模块依赖项

我正在尝试在Android Studio(3.1)中创建一个包含Android库和Java库的项目。 Java库依赖于Android库。 两者都是我项目中的模块,如下所示: MyProject |-android |-java 两者都出现在settings.gradle中: include ‘:android’, ‘:java’ Java库依赖于Android库,如下所示: java( build.gradle ): apply plugin: ‘java-library’ dependencies { implementation fileTree(dir: ‘libs’, include: [‘*.jar’]) implementation project(‘:android’) } … android( build.gradle ): apply plugin: ‘com.android.library’ … 尝试同步项目时,我收到以下错误: 无法解决:project :: android 为什么? PS另一种方式(Android取决于Java)工作得很好。

无法解决依赖性错误

我已经将一个统一的android项目作为模块导入到我现有的android studio项目中,并在gradle同步时遇到了这些错误。 错误:无法解析’:app @ release / compileClasspath’的依赖项:无法解析项目:markerlessAR1。 打开文件 显示详细资料

gradle中的多味道编译依赖项

有没有办法在Android Studio(build.gradle)中通过多种口味编译依赖项? 我有2个flavorGroups,每2个变种。 在4种可能的组合中,我希望能够依赖于lib,只要我是最新的和免费的。 latestCompile或freeCompile有效,但latestFreeCompile没有。 这是我的build.gradle的相关部分: android { defaultConfig { minSdkVersion 7 targetSdkVersion 19 versionCode 15 versionName “1.9.” + versionCode } flavorGroups ‘sdk’, ‘cost’ productFlavors { latest { flavorGroup ‘sdk’ minSdkVersion 8 } sdk7 { flavorGroup ‘sdk’ minSdkVersion 7 versionName android.defaultConfig.versionName + “.sdk7” } free { flavorGroup ‘cost’ } pro { flavorGroup ‘cost’ } } […]

使用android studio混淆多个模块

我有gradle proguard的问题…我有以下模块: 应用:主应用模块。 有依赖ModuleA和ModuleC ModuleA:库模块。 有依赖ModuleB和jar依赖。 ModuleB:库模块 ModuleC:库模块 穿:穿app模块。 build.gradle文件: – App: buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile(‘proguard-android-optimize.txt’), ‘proguard-rules.pro’ } } dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) compile project(‘:ModuleA’) compile project(‘:ModuleC’) wearApp project(‘:Wear’) } ModuleA: buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } dependencies { compile fileTree(dir: ‘libs’, include: […]

Android studio gradle重复文件dagger编译器

将android studio更新为0.4.0并将gradle插件更新为0.7.1并使用dagger编译器将gradle版本更新为1.9后出现奇怪问题 的build.gradle android { packagingOptions { exclude ‘META-INF/DEPENDENCIES.txt’ exclude ‘META-INF/LICENSE.txt’ exclude ‘META-INF/NOTICE.txt’ } } dependencies { compile ‘com.android.support:support-v4:+’ compile ‘com.android.support:support-v13:19.0.+’ compile ‘com.google.code.gson:gson:2.2.4’ compile ‘com.squareup.dagger:dagger:1.2.0’ compile ‘com.squareup.dagger:dagger-compiler:1.2.0’ } 在构建中收到此错误 Execution failed for task ‘:MyApplication:packageDebug’. 在APK META-INF / services / javax.annotation.processing.Processor中复制的重复文件文件1:C:\ Users \ Mantas.gradle \ caches \ modules-2 \ files-2.1 \ com.squareup.dagger \ dagger-compiler \ 1.2.0 […]

Gradle中的Android库可以将其他Android库作为依赖项吗?

允许这种结构吗? MyProject/ | settings.gradle + app/ | build.gradle + libraries/ + lib1/ | settings.gradle | build.gradle + libraries/ + sublib1/ | build.gradle + sublib2/ | build.gradle + lib2/ | build.gradle 我有这个使用Ant但是使用Gradle我的项目找不到sublib1或sublib2。 当我运行gradle时,我收到此错误: * What went wrong: A problem occurred evaluating project ‘:libraries:lib1’. > Project with path ‘:libraries:sublib1’ could not be found in project ‘:libraries:lib1’. 这是来自MyProject的 […]

将集成测试与Android Studio中的unit testing分开

我正试图在Android Studio 0.9中分离出集成测试。 我已将以下内容添加到构建文件中: sourceSets { integrationTest { java.srcDir file(‘src/integrationTest/java’) } } task integrationTest(type: Test) { testClassesDir = sourceSets.integrationTest.output.classesDir classpath = sourceSets.integrationTest.runtimeClasspath } 我遇到了几个问题: 该任务将运行,但它没有其他项目文件可用,所以我得到有关缺少类的错误。 我发现了一些Java特定的解决方案,例如: http://selimober.com/blog/2014/01/24/separate-unit-and-integration-tests-using-gradle/ https://blog.safaribooksonline.com/2013/08/22/gradle-test-organization/ 但是我还没弄清楚如何使用Android Studio。 main和main.output各种组合以及依赖关系的各种组合似乎不起作用,我得到如下错误: Error:(33, 0) Could not find property ‘main’ on SourceSet container.. 这有意义,因为android插件定义了自己的源集,但这些也不起作用。 IDE无法将该目录识别为测试源目录。 出于测试目的,我将源集名称更改为androidTest并且它正确获取绿色文件夹图标,并且测试与已在androidTest定义的现有unit testing一起运行。

如何从gradle构建风格中排除res文件夹?

我需要从一个风格中删除一个特定的res文件夹。 sourceSets { main { manifest.srcFile ‘AndroidManifest.xml’ java.srcDirs = [‘src’] res.srcDirs = [‘res’] aidl.srcDirs = [‘src’] assets.srcDirs = [‘assets’] } } productFlavors { flavor1 { sourceSets { flavor1 { resources { exclude ‘res/drawable-mdpi/*’ } } } } flavorDimensions “flavor” } 但仍然drawable-mdpi文件夹来到apk。 所以任何人都可以说明我犯了什么错误。 谢谢Vivek

由于shrinkReleaseMultiDexComponents,Android版本构建失败

我在构建应用程序的发布版本时遇到了困难。 这是运行时得到的输出的一部分./gradlew assembleRelease –stacktrace –debug 在Android Studio中它会吐出同样的东西而我已经爬网,但还没有find解决方案。 17:57:41.664 [INFO] [org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter] Executing task ‘:app:shrinkReleaseMultiDexComponents’ (up-to-date check took 0.002 secs) due to: No history is available. 17:57:41.665 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter] Executing actions for task ‘:app:shrinkReleaseMultiDexComponents’. 17:57:41.717 [INFO] [system.out] ProGuard, version 5.2.1 17:57:41.745 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ‘:app:shrinkReleaseMultiDexComponents’ 17:57:41.745 [LIFECYCLE] [class org.gradle.TaskExecutionLogger] :app:shrinkReleaseMultiDexComponents FAILED 17:57:41.746 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] :app:shrinkReleaseMultiDexComponents […]

Gradle无法为参数find方法compile()

我有一个hello world全屏android studio 1.5.1应用程序,我添加了gradle / eclipse-mars子项目。 除了将settings:’javalib’添加到settings.gradle之外,没有其他文件被修改。 添加项目lib依赖项 : project(‘:app’) { dependencies { compile project(‘:javalib’) // line 23 } } 从根构建构建文件并从命令行运行gradle,得到: 其中:构建文件’D:\ AndroidStudioProjects \ AndroidMain \ build.gradle’行:23 出了什么问题:评估根项目’AndroidMain’时出现问题。 无法在org.grad le.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated@46 3ca82f上find参数[project’:javalib’]的方法compile()。 将java插件添加到根构建文件没有帮助。 我不认为它在错误的地方 。 根项目和添加的子项目都有gradle包装器。 任何指针将不胜感激。 谢谢 编辑:为了澄清,根构建文件是: // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories […]