Articles of android gradle

Android Gradle中每个风味的代码路径

我有2个buildTypes(调试,发布)和2个productFlavors(product1,product2)。 我想为每个buildType和productFlavors定义一个buildConfigField。 buildConfigField是从服务器下载数据的应用程序的URL,它会针对每个productFlavor和buildTypes进行更改。 我现在有: buildTypes { debug { debuggable true } release { debuggable false } } productFlavors { product1 { buildConfigField STRING, “URL_BASE”, ‘”https://api1.release.com”‘ } product2 { buildConfigField STRING, “URL_BASE”, ‘”https://api2.release.com”‘ } } 但我想要这样的事情: buildTypes { debug { debuggable true } release { debuggable false } } productFlavors { product1 { debug { buildConfigField […]

使用哪个gradle文件将应用程序设置为可调试?

我是android开发的新手。 我刚刚开始设置我的设备来调试我的应用程序。 在浏览android开发工具时,它说要在build.gradle文件中将buildTypes debuggable设置为true。 我不确定使用gradle.build(Module)或gradle.build(project)的哪个成绩文件?

此支持库不应使用不同的版本,build.gradle中的错误

我的build.gradle存在一个问题。 gradle中的错误是( compile ‘com.android.support:appcompat-v7:24.0.0-beta1’ )这行错误显示(这个支持库不应该使用不同的版本(24)然后编译sdk版本23) 任何想法? 而我使用的是Android Studio 2.1.2,主要问题是Android studio中没有android支持库。 pic在下面

仅在运行测试时出现DexIndexOverflowException

我可以在调试和发布变体中成功构建和运行我的Android应用程序,没有任何问题。 然而,当我尝试运行我的新unit testing(之前从未有过它)时,我得到了可怕的DexIndexOverflowException 。 我怀疑ProGuard没有运行我的unit testing,但它是我正常的调试和发布buildTypes。 在unit testing运行配置中运行ProGuard需要做什么? 我搜索了Gradle文档, ProGuard文档和Android Studio文档来解决这个问题但我一无所获。

将项目升级到Android Studio 1.0(Gradle问题)

刚开始我对android开发/ android studio / gradle很新,请原谅我,如果我问一个愚蠢的问题。 我的团队一直在研究android studio测试版的项目,我刚刚安装了新版本(1.0),我从github远程仓库导入了我们的项目。 尝试使用gradle同步项目时,我收到错误:需要Gradle version 2.1 is required. Current version is 2.2.1. Gradle version 2.1 is required. Current version is 2.2.1. 它建议我在gradle-2.1中更改distributionUrl,但是当我这样做时,我得到gradle插件需要2.2.1的错误。 问题是为什么我的项目需要2.1,我可以在哪里更改? 这是我的gradle.build: apply plugin: ‘com.android.application’ android { compileSdkVersion 21 buildToolsVersion “21.1.0” defaultConfig { applicationId “com..” minSdkVersion 14 targetSdkVersion 21 versionCode 1 versionName “1.0” } buildTypes { release { runProguard […]

Android Gradle合并Values.xml使用错误的命名空间

在将项目转换为Android构建系统的过程中,每当我尝试编译时都会收到此错误。 Gradle: Error parsing XML: prefix must not be bound to one of the reserved namespace names 合并的values.xml文件包含以下根元素: 导致此错误的原因是什么?如何解决?

提供的依赖项只能是jar

我在Android Studio中有一个Android项目,以前我使用过它以前工作过,但是,我已经升级了Android Studio,现在我遇到了一个奇怪的问题。 在Android Studio的错误输出中,我有以下内容: Warning: Project MyApp: provided dependencies can only be jars. com.google.android.gms:play-services.6.5.87 is an Android Library Warning: Project MyApp: provided dependencies can only be jars. com.MyCompany.MyLibrary:aar:1.0 is an Android Library. 下面是我的build.gradle文件。 apply plugin: ‘android’ android { compileSdkVersion 21 buildToolsVersion “20.0.0” packagingOptions { exclude ‘META-INF/LICENSE.txt’ exclude ‘META-INF/NOTICE.txt’ } defaultConfig { //applicationId “com.MyCompany.MyApp” minSdkVersion […]

Android编译错误 – 无法findjava / util / function / Function的字节代码

将Gradle版本更新为3.1后,运行应用程序时会抛出以下错误: 无法findjava / util / function / Function的字节代码 java.io.IOException:无法在com.android的com.android.build.gradle.internal.incremental.AsmUtils.lambda $ static $ 0(AsmUtils.java:89)中findjava / util / function / Function的字节代码。 build.gradle.internal.incremental.AsmUtils.loadClass(AsmUtils.java:307) 愿有人帮我解决这个问题吗? 完整堆栈错误: org.gradle.api.tasks.TaskExecutionException:任务’:app:transformClassesWithInstantRunForMockDebug’的执行失败。 在org.gradle上的org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)位于org.gradle.api.internal的org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)上的.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51) org.gradle.api.internal.tasks.execution上的.gasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60) org.gradle.api.internal.tasks.execu上的org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)中的.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97) 在org.gradle.api.internal.tasks.exe执行(SkipTaskWithNoActionsExecuter.java:52)org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter中的.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)。执行(SkipOnlyIfTaskExecuter.java:54)org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter。 java:34)at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker $ 1.run(DefaultTaskGraphExecuter.java:248)org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)at org。 gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)org.gradle.internal.progress.DefaultBuild 在Org.gradle.internal.progress.DefaultBupeOperationExecutor.run(DefaultBuildOperationExecutor.java:110)上的OperationExecutor.execute(DefaultBuildOperationExecutor.java:199)org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)at org.gradle.execution.taskgraph .DefaultTaskPlanExecutor $ TaskExecutorWorker.access $ 200(DefaultTaskPlanExecutor.java:79)org.gradle.execution.taskgraph.DefaultTaskPlanExecutor […]

使用Android Gradle插件0.7.3在项目中添加预先构建的.so文件

很久以后,在Android Gradle插件0.7.3中添加了在Android项目中添加预先构建的.so文件的支持。 但与我不同的是,很多人仍在使用hack / workaround添加预先构建的.so文件,即使用特定层次结构压缩文件,然后重命名为.jar。 以下是如何正确添加.so文件的分步指南。

无法使用Gradle将ViewPagerIndicator添加到应用程序

我正在尝试将Jack Whartons ViewPagerIndicator库https://github.com/JakeWharton/ViewPagerIndicator添加到我的应用程序中,因为我想使用我拥有的viewpager的圆形指示器。 但是我无法将其添加到我的应用程序。 我已经按照本教程 – 在Android Studio和Gradle中使用ViewPagerIndicator库 但是我收到了这个错误 Error:Artifact ‘library.aar (com.viewpagerindicator:library:2.4.1)’ not found. Searched in the following locations: https://jcenter.bintray.com/com/viewpagerindicator/library/2.4.1/library-2.4.1.aar 如果我删除我的jCenter()中的jCenter()代码然后它可以工作但我包含的其他依赖项没有,所以我不知道如何让所有依赖项一起工作。 这是我的顶级gradle文件 // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() maven { url “http://dl.bintray.com/populov/maven” } mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:1.0.1’ // NOTE: Do […]