Articles of android gradle

使用Jack编译器为Android获取未知属性“classpath”

我正在尝试使用下一个Jack编译器编译我的项目。 我刚刚将Android Studio更新为2.2-Beta,将gradle插件更新为2.14.1。 这是我的gradle文件: buildscript { repositories { mavenCentral() jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:2.2.0-beta1’ classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’ classpath ‘com.github.jacobono:gradle-jaxb-plugin:1.3.6’ } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } subprojects { project -> if(project.name.endsWith(“-schema”)) { apply plugin: ‘com.github.jacobono.jaxb’ dependencies { jaxb ‘com.sun.xml.bind:jaxb-xjc:2.2.7-b41’ jaxb ‘com.sun.xml.bind:jaxb-impl:2.2.7-b41’ jaxb ‘javax.xml.bind:jaxb-api:2.2.7’ } } } […]

Android Instant App:如何创建URL可寻址模块?

Google最近更新了有关即时应用的文档: 准备应用 大多数要点都很清楚,除非3.如有必要,重构你的应用程序 。 他们建议零售模块,如浏览,搜索,项目详细信息和结账。 问题 :如何将应用程序拆分为function齐全且URL可寻址的模块? 我在这里看到几个问题: 如果我们使用像dagger,butterknife这样的库,……所有模块都依赖于其他模块 如果我们的模块根据需要包含(视图),如何在不导入此模块的情况下实现到另一个视图(来自另一个模块)的转换? 有人可以将光照进黑暗中吗? 谢谢!

Gradle的目的是什么?

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

Espresso UI测试无法识别onView()

我花了一整天用Espresso设置Junit4仪器测试,但似乎无法完成最后一步。 无论我做什么,它都无法识别onView()方法。 我已经尝试了多个SDK / support-lib版本,到目前为止还没有。 我已经浏览了所有谷歌设置指南和许多stackoverflowpost,转到这里作为我的最后希望。 Gradle版本: com.android.tools.build:gradle:1.5.0 : com.android.tools.build:gradle:1.5.0 : com.android.tools.build:gradle:1.5.0 Gradle文件: apply plugin: ‘com.android.application’ apply plugin: ‘com.google.gms.google-services’ android { compileSdkVersion 23 buildToolsVersion “23.0.2” useLibrary ‘org.apache.http.legacy’ defaultConfig { applicationId “lv.my.android” minSdkVersion 9 targetSdkVersion 22 testApplicationId “lv.my.android.tests” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } packagingOptions { exclude ‘LICENSE.txt’ exclude ‘META-INF/DEPENDENCIES’ exclude ‘META-INF/LICENSE’ exclude ‘META-INF/NOTICE’ } compileOptions { sourceCompatibility = […]

Gradle:如何将Android库发布到本地存储库

我有一个使用Gradle和Android Studio的库和Android应用程序。 我可以将库直接包含在项目中,如下所示 compile project(‘:library’) 因为我不想与库源代码进行网格化,所以我想将库发布到本地存储库中,以便我可以使用as compile ‘com.mygroup:library:1.0’ 有什么建议吗?

错误:找不到: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任何冲突。 我甚至试图将代码复制到一个新项目并运行它但仍然没有成功。 任何遇到同样问题并解决它的人请帮助我。

Android Studio和ProGuard:无法解析符号getDefaultProguardFile?

IDE :Android Studio 1.1.0 主题 :ProGuard 问题 :Android Studio无法识别的ProGuard文件或工具, getDefaultProguardFile 无法解析 ,应用程序中没有proguard-android.txt和proguard-rules.txt文件,请参见下图:(来自build.gradle) 如何解决这个问题并为我的应用程序实现ProGuard保护?

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该字段。 我不想记得将它添加到我创建的每个新口味中。 这有什么办法吗?