Articles of gradle

compile,testCompile和gradle依赖项之间的区别是什么

我正在使用android studio并在项目结构中 – >依赖项选项卡,我可以看到以下选项: 编 提供 APK 测试编译 调试编译 发布编译 我的问题:compile,testCompile和gradle依赖项之间的区别是什么

Gradle的目的是什么?

我可以在Android Studio 0.4.0的上下文中使用一些帮助来理解Gradle(插件v 0.7)背后的概念。 我之前没有使用Gradle,它只会让我感到困难。 我没有看到它的目的/好处,因为我对此知之甚少。 我有一些具体的问题 这些依赖是什么? 我正在制作一个带导航抽屉的简单应用程序,针对API 11+,应该本机支持。 我可以使用哪些依赖项? 什么是Gradle包装? 对完成的申请有何变化(如果有的话)? 为什么Gradle需要不断上线? 在我工作时,我的个人笔记本电脑上没有互联网接入。 它已经到了我无法运行或测试我的应用程序的程度,因为Gradle无法在没有Internet访问的情况下解析某些资源。 为什么Gradle使用Groovy很重要? 我在互联网上搜索过,这往往是人们喜欢Gradle的东西,但他们通常不会解释为什么Groovy很重要或者它对Android应用程序的作用。 有时作为中级程序员很难,因为信​​息往往过于简单或过于复杂。 除了我的具体问题,您可以提供的任何其他信息都很有用。 我不打算讨论Gradle与其他可能做同样事情的工具的利弊,我只想更多地了解Gradle及其使用,以便我做出明智的决定。 谢谢

无法在org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated@397740e0上find属性’compile’

我正在使用parse.com启动程序进行为期两天的演讲,没有任何问题。 我离开了几分钟,没有任何东西,我可以看到被改变,现在它不会同步。 我搜索过,但没有发现任何错误。 在此先感谢您的帮助。 这是错误: Error:(36, 0) Could not find property ‘compile’ on org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated@397740e0. 打开文件 这是我的gradle文件: apply plugin: ‘com.android.application’ apply plugin: ‘com.parse’ buildscript { repositories { mavenCentral() maven { url ‘https://maven.parse.com/repo’ } } dependencies { classpath ‘com.parse.tools:gradle:1.+’ } } android { compileSdkVersion rootProject.ext.compileSdkVersion buildToolsVersion rootProject.ext.buildToolsVersion defaultConfig { applicationId “com.parse.starter” minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 […]

java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:无法在Android Studio 3.0中合并dex

这是我的gradle文件: apply plugin: ‘com.android.application’ android { compileSdkVersion 26 buildToolsVersion ‘27.0.0’ useLibrary ‘org.apache.http.legacy’ defaultConfig { multiDexEnabled true applicationId ‘com.example.test’ minSdkVersion 16 targetSdkVersion 26 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } productFlavors { } dexOptions { incremental true } } dependencies { compile ‘com.google.android.gms:play-services:10.0.1’ compile ‘com.android.support:appcompat-v7:26.+’ compile ‘com.android.support:multidex:1.0.1’ compile ‘com.android.support.constraint:constraint-layout:1.0.0-alpha7’ […]

错误:找不到:com.android.support:support-v4:20.0.+

我在Android Studio中导入了一个项目。 我在项目中需要v4和v7库。 这就是我的build.gradle的样子 的build.gradle apply plugin: ‘android-library’ android { compileSdkVersion 19 buildToolsVersion ’20’ defaultConfig { applicationId ‘com.example.sdk’ minSdkVersion 9 targetSdkVersion 19 versionCode 1 versionName ‘1.0’ } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } productFlavors { } } dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) compile ‘com.android.support:appcompat-v7:20.0.+’ compile ‘com.android.support:support-v4:20.0.+’ } 当我与gradle同步时,它总是会给出错误消息 […]

如何在Android Studio模块中添加风味?

我有一套使用相同模块的项目,其中包含几乎所有实际代码。 该项目设置如下: project/ – app/ – build.gradle – libraries/ – module/ – build.gradle – build.gradle – settings.gradle 依赖关系都设置正确,我可以很好地构建和运行应用程序,但是我只能为项目添加风味,这不是理想的解决方案。 settings.gradle包含以下内容: include ‘:app’, ‘:libraries:module’ 在app目录的build.gradle文件中,我添加了以下块: productFlavors { alpha production } 使用gradle 0.11,这将同步并创建assembleAlphaDebug , assembleAlphaRelease , assembleProductionDebug , assembleProductionRelease任务。 当我尝试在模块中执行此操作时,我收到错误: 找不到与给定名称匹配的资源(在’theme’处,值为’@ style / MyCustomTheme’) 在构建的app/src/main/AndroidManifest.xml 。 由于某种原因,该模块尚未构建,因此自定义主题无效。 我究竟做错了什么?

:app:dexDebug ExecException以非零退出值2结束

任何人都可以帮我解决以下错误。 当我清理项目时,它不会显示任何错误,但每次我尝试运行时都会收到此消息。 错误:任务’:app:dexDebug’的执行失败。 com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程’命令’C:\ Program Files \ Java \ jdk1.8.0_45 \ bin \ java.exe”以非完成零退出值2 应用程序运行没有错误,但随着我的系统崩溃并重新启动Android工作室我几乎没有Android API 22的更新。更新后,应用程序继续给我这个错误消息。 我下载了JDK 8并尝试运行但没有工作。 之后我在这个堆叠帖后降级到JDK 7,但仍然没有修复它。 是否可以使用Java 8进行Android开发? 我看过很多类似的问题,但没有一个适合我。 在堆栈上发现了一些类似的问题 为什么java.exe在android studio中以值1退出 错误:任务’:app:dexDebug’的执行失败。 >命令以非零退出值2结束 Java以非零退出值2完成 – Android Gradle java.exe以非零退出值2结束 进程’命令’C:\ Program Files \ Java \ jdk1.8.0_31 \ bin \ java.exe”以非零退出值2结束 我已经查看了gradle中的依赖项,以查看是否存在任何冲突但未find任何冲突。 我甚至试图将代码复制到一个新项目并运行它但仍然没有成功。 任何遇到同样问题并解决它的人请帮助我。

Graverse buildConfigField boolean的默认值用于各种风格

我的应用程序中有很多种风格,我想为它们的子集设置一个布尔buildConfigField。 有没有办法避免必须将字段添加到每种风味? 理想情况下,我的build.gradle将如下所示: productFlavors { flavor1 { } …. flavor4 { buildConfigField “boolean”, “DISABLE_SOMETHING”, “true” } flavor5 { buildConfigField “boolean”, “DISABLE_SOMETHING”, “true” } …. flavor8 { } } 所以在我的应用程序中,我可以去 if (BuildConfig.DISABLE_SOMETHING) { //disable stuff } 但是,当我尝试使用,例如, flavor1构建时,编译失败,因为它无法find该字段。 我不想记得将它添加到我创建的每个新口味中。 这有什么办法吗?

如何使用Android Studio运行unit testing

我正在使用Jake的Androidunit testing插件进行gradle: https : //github.com/JakeWharton/gradle-android-test-plugin 我的build.gradle看起来像这样: dependencies { // analytics compile(‘com.crittercism:crittercism-android:3.0.11’) // retrofit compile(‘com.squareup.retrofit:retrofit:1.2.2’) compile(‘com.squareup.okhttp:okhttp:1.2.1’) // dagger compile(‘com.squareup.dagger:dagger:1.1.0’) compile(‘com.squareup.dagger:dagger-compiler:1.1.0’) // compatibility compile(‘android.compatibility:android-support:v4-r13’) compile(‘com.actionbarsherlock:actionbarsherlock:4.4.0@aar’) // Picasso compile(‘com.squareup.picasso:picasso:2.1.1’) // Otto compile(‘com.squareup:otto:1.3.4’) // Tests testCompile ‘junit:junit:4.10’ testCompile ‘org.robolectric:robolectric:2.2’ testCompile ‘org.powermock:powermock-api-mockito:1.5.1’ testCompile ‘org.easytesting:fest-assert-core:2.0M10’ } 不幸的是,我无法运行所有或特定的unit testing表单Android Studio。 我收到错误: Exception in thread “main” java.lang.NoClassDefFoundError: junit/textui/ResultPrinter at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:171) […]

多个dex文件定义 / BuildConfig,找不到原因:

我正在使用新的gradle构建系统,我面临以下问题: UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Lcom/kibo/mobi/BuildConfig; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594) at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552) at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533) at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170) at com.android.dx.merge.DexMerger.merge(DexMerger.java:188) at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287) at com.android.dx.command.dexer.Main.run(Main.java:230) at com.android.dx.command.dexer.Main.main(Main.java:199) at com.android.dx.command.Main.main(Main.java:103) 打印依赖项我看不到任何东西,这里是: firstDebugCompile – ## Internal use, do not manually configure ## \— KiboGradle:KiboSDK:unspecified +— KiboGradle:TextInputAPI:unspecified +— KiboGradle:VoiceImeUtils:unspecified +— com.google.android.gms:play-services:5.0.77 | \— com.android.support:support-v4:19.1.0 +— com.squareup.picasso:picasso:2.3.2 +— […]