问题标签 [android-gradle-plugin]

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 投票
35 回答
764570 浏览

android - Android Studio:将 jar 添加为库?

我正在尝试使用新的 Android Studio,但似乎无法使其正常工作。

我正在使用Gson库来序列化/反序列化 JSON 对象。但是该库不知何故未包含在构建中。

我创建了一个只有MainActivity的新项目。复制/libs 文件夹中的gson-2.2.3.jar并将其添加为库依赖项(右键单击->添加为库)。这包括 android studio 中的 jar,因此可以从源文件中引用它。

当我尝试运行该项目时,它无法编译,所以我添加了:

到 de .gradle 文件中的依赖项。之后它可以正确编译,但是在运行应用程序时我得到一个ClassDefNotFoundException.

有谁知道我做错了什么?

0 投票
8 回答
103455 浏览

android - Android Studio 和 Gradle 构建错误

我一直在使用 android studio 的新预览版,非常喜欢它。但最近我的项目不会建立。我收到以下错误:

问题是如何启用堆栈跟踪,以便找到错误的根源。因为它是我真的不知道是什么原因造成的。

0 投票
25 回答
420739 浏览

android - How to manually include external aar package using Gradle for Android

I've been experimenting with the new android build system and I've run into a small issue. I've compiled my own aar package of ActionBarSherlock which I've called 'actionbarsherlock.aar'. What I'm trying to do is actually use this aar to build my final APK. If I include the whole ActionBarSherlock library as an android-library module to my main project using compile project (':actionbarsherlock') I'm able to build successfully without any problems.

But my problem is that I want to provide that dependency as a aar file package MANUALLY just if I would a JAR then I can't seem to figure out how to properly include it into my project. I've attempted to use the compile configuration but this doesn't seem to work. I keep on getting cannot find symbol during compile which tells me that the classes.jar from aar package isn't getting included in the classpath.

Does anyone know of the syntax to manually include an aar package as a file?

build.gradle

EDIT: So the answer is that it's not currently supported, here's the issue if you want to track it.

EDIT: Currently as this is still not supported directly the best alternative seems to be the proposed solution from @RanWakshlak

EDIT: Also simpler by using the syntax proposed by @VipulShah

0 投票
26 回答
454556 浏览

android-studio - Android Studio 中的 Gradle 是什么?

Gradle 对我来说有点令人困惑,对于任何新的 Android 开发人员也是如此。谁能解释一下 Android Studio 中的 Gradle 是什么以及它的用途是什么?为什么它包含在 Android Studio 中?

0 投票
14 回答
55394 浏览

android - 在 Gradle 中使用构建类型在一台设备上运行使用 ContentProvider 的相同应用程序

我已经设置 Gradle 以将包名称后缀添加到我的调试应用程序中,这样我就可以在一部手机上拥有我正在使用的发布版本和调试版本。我在引用这个:http ://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Types

我的 build.gradle 文件如下所示:

一切正常,直到我开始在我的应用程序中使用 ContentProvider。我得到:

我知道发生这种情况是因为两个应用程序(发布和调试)正在注册相同的 ContentProvider 权限。

我看到了解决这个问题的一种可能性。如果我理解正确,您应该能够在构建时指定要使用的不同文件。然后我应该能够将不同的权限放在不同的资源文件中(并且从 Manifest 将权限设置为字符串资源)并告诉 Gradle 使用不同的资源进行调试构建。那可能吗?如果是的话,那么任何关于如何实现这一目标的提示都会很棒!

或者也许可以使用 Gradle 直接修改 Manifest?任何其他关于如何在一台设备上使用 ContentProvider 运行相同应用程序的解决方案总是受欢迎的。

0 投票
5 回答
18282 浏览

android - Android Gradle 构建:重命名 apk

如何调整我的 build.gradle 以更改 apk(s) 的最终基本名称?(不更改默认后缀)

0 投票
4 回答
27652 浏览

android - 如何更改 Gradle 中的 libs 目录?

我想将 Zbar 集成到我的应用程序中,但似乎无法弄清楚如何使用新的 Android Studio 来实现这一点。

我浏览了这个例子并复制了代码,没有任何问题。我遇到的问题是将库添加到我的项目中,我似乎无法弄清楚如何去做。有人可以带我过去吗?

0 投票
9 回答
27542 浏览

android - 使用 Android Gradle 插件生成 JavaDocs

如何使用新的 Gradle 构建系统为 Android 项目生成 JavaDocs?

这是我想出的,但它不起作用。

主要问题是我没有在类路径上获得适当的 android.jar,因此 JavaDocs 中的一些链接没有得到解决。我必须找到一种方法来获取类路径上所有必要的 jar。

我采用的方法的另一个问题是它收集了所有构建变体的类路径,而不是选择一个。

0 投票
5 回答
35241 浏览

android - Android Studio 和 Gradle - 构建失败

我正在构建一个小型库项目以及一个示例项目来说明使用。我无法在 Android Studio 中运行示例。我从头开始创建了这个项目。我对 Eclipse 很有经验,但这是我在 Android Studio 和 Gradle 的第一次尝试。

给出的错误:

Gradle:任务':demo:dexDebug'的执行失败。

运行 C:\DevTools\Android\android-studio\sdk\build-tools\android-4.2.2\dx.bat 失败。查看输出

我有以下文件夹结构:

项目根目录下的 Build.gradle:

项目根目录下的 Settings.gradle:

库模块的 Build.gradle:

示例模块的 Build.gradle:

0 投票
11 回答
166673 浏览

java - 是否可以在 Gradle 中声明一个可在 Java 中使用的变量?

是否可以在 Gradle 中声明一个可在 Java 中使用的变量?基本上我想在 build.gradle 中声明一些变量,然后在构建时(显然)得到它。就像 C/C++ 中的预处理器宏...

声明的一个例子是这样的......:

有没有办法做这样的事情?