问题标签 [build.gradle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
14897 浏览

android - 在 Gradle 中为 Android 中的库项目构建变体

我正在尝试使用 Gradle 配置一个包含一些外部库的项目。使用 Gradle,我可以使用 Build Variants 为主应用程序设置不同的环境配置(在配置文件中包含一个类),以便我可以根据这些变量执行代码。

问题是我如何为图书馆项目做同样的事情?我为这个项目创建了这个库,我想为不同的场景设置不同的构建变体。

举个例子:在库中,在调试模式下运行时,打印所有日志,以便我可以在开发时看到它们。在发布模式下不要。

文件结构:

调试代码:包配置;

发布代码:

问题是,对于主项目,我可以使用此构建类型为不同的场景配置不同的应用程序,但我怎样才能为库项目做同样的事情呢?

因为目前从我在http://tools.android.com/tech-docs/new-build-system/user-guide中读到的内容,该库仅在测试时使用调试模式。

有任何想法吗?

谢谢!

0 投票
1 回答
1535 浏览

android - 如何忽略 Android build.gradle 中的隐藏目录

我最近更新了一个现有的 Android 项目以使用 Android Studio,但无法构建它:

经过一些试验,我发现它在我们的源代码管理的隐藏目录 .arch-ids 上阻塞,它存在于每个文件夹中。

我尝试使用 exclude 关键字操作 build.gradle,但无济于事:

'res' 部分目前似乎是罪魁祸首,但它不支持 'exclude' 关键字。

0 投票
4 回答
36801 浏览

android - 如何在android studio中用gradle替换buildvariant的字符串?

我的项目有两种风格:

现在我想构建一个风味 1 和风味 2 的 buildvariant。buildvariant 的唯一区别是另一个包名。

我的项目使用 MapFragments 并且只有一个 Manifest - 所以我将 MAPS_RECEIVE 的权限名称放在各自风格的字符串资源文件中。

问题是:如何替换 buildvariant 的字符串资源?

我尝试了以下方法(在这篇文章中描述):

但是使用这个我得到了这个错误:

找不到参数 [{tokens={package_permission=com.example.rev.flavor1.permission.MAPS_RECEIVE}} 的方法 filter(), BuildTypeDsl_D ecorated{name=ReplaceTokens, debuggable=false, jniDebugBuild=false, renderscript DebugBuild=false, renderscriptOptimLevel=3, packageNameSuffix=null, versionNameS uffix=null, runProguard=false, zipAlign=true, signingConfig=null}] 在 BuildTypeD sl_Decorated{name=buderusFinal, debuggable=false, jniDebugBuild=false, renderscr iptDebugBuild=false, renderscriptOptimLevel=3 , packageNameSuffix=null, versionNameSuffix=null, runProguard=false, zipAlign=true, signingConfig=null}。

我必须为过滤方法定义自己的任务吗?

编辑[2013_07_09]:

src/flavor1/res 中的字符串:

build.gradle 中用于替换字符串的代码:

0 投票
2 回答
4689 浏览

android - 无法使用 Gradle 分发获取“IdeaProject”类型的模型

我正在按照教程使用 gradle 在 android studio 中嵌入一个外部项目。我遇到了这个错误:

Gradle“HelloWorldProject”项目刷新失败:无法使用 Gradle 分发“ http://services.gradle.org/distributions/gradle-1.6-bin.zip ”获取“IdeaProject”类型的模型。配置项目“:HelloWorld”时出现问题。配置项目“:HelloWorld”时出现问题。未能通知项目评估侦听器。未找到名称为“默认”的配置。

我逐字按照此处的说明进行操作,但随后出现此错误:

在此处输入图像描述

我的毕业版本: gradle -v

摇篮 1.6

Gradle 构建时间:2013 年 5 月 7 日星期二上午 9:12:14 UTC Groovy:1.8.6
Ant:Apache Ant(TM) 版本 1.8.4 编译于 2012 年 5 月 22 日 Ivy:2.2.0
JVM:1.6.0_45(Apple Inc. 20.45-b01-451) 操作系统:Mac OS X 10.8.3 x86_64

有任何想法吗?

0 投票
1 回答
1963 浏览

android - Android Studio java.lang.NoClassDefFoundError 启动

我在 build.gradle 中添加了模块依赖项,显然 Android Studio 没有抱怨,没有编译错误。但是当我点击“运行”启动应用程序时,我得到了 java.lang.NoClassDefFoundError。

我正在使用 Android Studio 的 Gradle。

我试过: gradle clean + gradle assemble 并成功构建,但在启动时仍然失败。

我的 build.gradle

例外:

0 投票
2 回答
30938 浏览

android - Gradle 和多项目结构

我试图了解我应该如何处理以下项目设置:

在当前设置中,每个模块中都有一个 build.gradle,我真正讨厌这个设置的是 build.gradle 的所有内容在模块之间重复。

事实是,我希望它们中的大多数都具有相同的逻辑,“纯 Java 模块”都是基础模块,我希望将输出、JavaDoc 和源代码打包,并部署到某个远程存储库(* 默认)。

另一方面,“纯 Java 模块”的一些模块我想有第二个议程,例如,除了默认*构建之外,我想为特定项目部署一个具有依赖项的 jar,或者类似的东西.

在构建实际的 Android 项目时,我希望模块在默认*构建中编译,最后为我的所有 Android 项目配置一个默认的 build.gradle,这些项目很多,我不想复制它文件。

==================================================== ==============

我想我正在寻找类似 Maven 父 pom 的东西,但由于我不完全了解 Gradle 的工作原理,所以我向你们开放这个以分享你的想法......

考虑到复制相同的构建文件(我敢说)是不可接受的,因为我可能想更改所有模块的所有构建逻辑中的某些内容

处理这种设置的最佳方法是什么?

0 投票
1 回答
137 浏览

gradle - 同一多项目构建中的插件和项目之间的依赖关系

我正在为自己的目的开发一个 gradle 插件。

我编写了一个多项目构建,其中有两个子项目:

  • 一个专案
  • b-插件

这是的内容a-project/build.gradle

评估文件时a-project/build.gradle,它没有'my-plugin'从项目中找到插件,b-plugin因为它尚未构建。

如何修复我的构建文件以确保在评估b-plugin之前构建?a-project/build.gradle

0 投票
1 回答
11822 浏览

android - Gradle Build Failed:“评估根项目时发生...未能创建任务或键入 gettype”

我在这里关注基本的 Gradle Android 教程:https ://github.com/jvoegele/gradle-android-plugin

但是在运行 gradle assemble 时会出现以下错误:

我的 build.gradle 文件中的代码是:

我的项目结构是:

我发现下面的问题似乎相似,但修复不起作用: Failed to build android project using gradle

我不仅很好奇如何解决问题,还很好奇如何调试它(堆栈跟踪记录和我希望的一样有用)。

0 投票
40 回答
408567 浏览

android - Gradle:任务“:processDebugManifest”执行失败

从昨天开始,我在构建时遇到了一个 gradle 错误 - 它只是随机出现的......

完整的堆栈跟踪:

我的项目依赖于多个库,并且直到昨天才构建没有任何问题(即使有库)

任何人都知道如何解决它?它只是随机出现......这里的完整堆栈跟踪:

0 投票
4 回答
16912 浏览

java - 如何从 Gradle 调用静态 Java 方法

我有一个 gradle 构建脚本,它目前通过简单地通过它的 main 方法执行一个 Java 类来工作。我想知道的是,如何在同一个类中调用静态方法,而不必通过主方法。当前的gradle代码如下:

我的Java类如下:

这给了我输出:

我的问题只是如何跳过主要方法,直接从 gradle 脚本中调用方法“anotherMethod”?输出将只是:

谢谢