问题标签 [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.
android - 如何在不公开源代码的情况下使用 gradle 创建 Android Library Jar?
我想从一个 Android 库项目中创建一个 Jar。它的设置方式如下:
我希望将所有这些都打包在一个 Jar 中,但不透露PackageSDK.java
.
我像这样设置我的build.gradle
文件:
当我gradlew clean jar
在项目目录中运行时,会在ProjectName\build\libs
名为ProjectName.jar
. 它的结构如下:
我希望在执行任务时PackageSDK.class
包含编译的而不是文件。我可以改变什么来实现这一目标?PackageSDK.java
jar
编辑:
根据 Ben Manes 的建议,我将配置更改为sourceSets
以下内容:
jar
任务如下:
Gradle 现在给我这个输出:
Could not find method output() for arguments [build_25r1m0a3etn5cudtt5odlegprd$_run_closure2_closure9_closure10_closure13@138532dc] on source set main.
android - 在 Android Studio 和 Gradle 中使用模块依赖项
我正在尝试从 Eclipse 切换到 Android Studio 来构建和编写我的应用程序,但我发现如何使用 android 模块作为依赖项(如 ActionBarSherlock 或 AndEngine)并不明显。
使用 Eclipse 很容易实现,但我不知道如何使用 Android Studio 做到这一点。我设法将 AndEngine 和我的项目都导入到 Android Studio,但我无法编译它。
这就是我的目录结构的样子:
使用 Ecipe,依赖项是通过工作区或 project.properties 配置的,我的问题是,如何使用 AndroidStudio 和 gradle 来实现它?
android - 谷歌地图“setOnLocationEnabled”在 Android 2.3.7 上崩溃——自从更改为 Gradle
我在 Android Studio 中有一个显示地图的项目。一切正常(包括地图),直到我尝试调用mMap_.setMyLocationEnabled(true);
. 它产生以下错误:
找不到资源……很奇怪。相同的代码现在可以在 ANDROID 4 中使用。如果我删除冲突的调用,它在 2.x 中也可以顺利运行。所以,这不是 API 密钥的问题,库是如何包含的,SDK 或编辑器不是最新的......
在我将“旧”的 android studio 项目迁移到 Gradle 系统后,问题出现了。在切换之前,我使用的是位于的 .jar 文件<android sdk>\extras\google\google_play_services\libproject\google-play-services_lib\libs
,但现在它是从 build.gradle 文件中的规范自动下载/导入的:
有没有人有同样的问题?你有什么建议吗?我没有想法了...
android - 如何使 runProguard 为 android-library Gradle 插件工作?
我想在我的 Android 库的发布版本上运行 ProGuard。以下是我build.gradle
的项目中的文件。
运行gradlew clean
或gradlew build
返回以下错误:
> Could not find method buildTypes() for arguments [build_25r1m0a3etn5cudtt5odlegprd$_run_closure2_closure10@5f3306ad] on project
插件似乎android-library
缺少该buildTypes
方法。如果我更改apply plugin
为android
,gradlew
则运行成功。但是,这是一个图书馆项目,我想保留它。我的其他部分gradle.build
(此处未提及)依赖于作为库的项目。
有什么方法可以让android-library
插件在构建时运行 ProGuard?
android - 如果仅包含在 build.gradle 中,为什么 Android Studio 不能引用库?
在我的应用程序中,我使用的是 Guava 库。我只在我的build.gradle
文件中引用了它,如下所示:
我的应用程序重建并运行良好。但是,当我尝试从 Guava 库中添加新内容时,编译器会抱怨它找不到该类。
例如:当我写
在我的新文件中,编译器说'cannot resolve symbol common'
.
但是我的旧文件重建得很好。怎么会这样?我必须惹Project|Structure
吗?我特别想列出所有依赖项 -only- in build.gradle
。
android - Android Gradle 插件中的 aaptOptions - noCompress
我正在使用 0.6.1 版的 Gradle 插件,当我告诉它不要压缩时,aaptOptions 似乎被忽略了。我们预压缩所有 PNG 以加快构建过程(在我们构建的服务器上大约需要 10 分钟/构建),所以我将以下代码添加到 build.gradle 只是为了让 png 仍在通过压缩运行。
gradle - GroovyConsole 运行 build.gradle
GradleWare 的书 -使用 Gradle 构建和测试- 在第 1.1 节中陈述了以下内容: “每个 Gradle 构建文件都是可执行的 Groovy 脚本。”
但是,当我在 GroovyConsole 中运行 build.gradle 文件时,它给了我这个错误:
groovy.lang.MissingMethodException:没有方法签名:build.apply() 适用于参数类型:(java.util.LinkedHashMap) 值:[[plugin:android-library]] 可能的解决方案:any()、any(groovy .lang.Closure)、every()、every(groovy.lang.Closure)、split(groovy.lang.Closure) 在 build.run(build.gradle:1)
它指的是第1行:
在构建脚本中:
所以你能澄清一下这本书的说法是对是错吗?
谢谢你,伊戈尔·加纳波尔斯基
android - 如何将日期构建附加到 gradle 上的 versionNameSuffix
我正在使用 Android Studio,我需要versionNameSuffix
在我的 Android build.gradle文件上附加一个后缀。我有三种不同的构建类型,我只需要将日期时间附加到我的“测试版”版本中。我的实际文件是:
对于测试和自动部署,我需要得到一个最终的 versionName,比如:0.7.5-beta-build20131004
,0.7.5-beta-build1380855996
或者类似的东西。有任何想法吗?
android - 如何在 Eclipse 中包含 Android gradle 依赖项
我创建了简单的 android eclipse 项目。然后我添加了 build.gradle 文件。
如您所见,我想使用来自 maven 的 RoboGuice。Gradle 会下载它,但不会添加到 Eclipse 的 lib 文件夹中。所以我在编写代码时不能在eclipse中使用它。我需要手动复制它们吗?我添加了一个任务来显示它们:
android - 将 custom_rules.xml(Eclipse、Ant)迁移到 Android Studio
我的 custom_rules.xml 文件有一个自定义目标,比如说我的目标。目标 -pre-build 取决于我的目标。my-target 生成一个属性文件并将其放入 assets 目录。
我正在将我的项目从 Eclipse 迁移到 Android Studio,并希望保留此功能。似乎生成的文件应该放在 MyAppProject/MyApp/build/assets/[debug|release] 文件夹中。用于此目的的最佳 Gradle 任务是什么?
谢谢!