Tag: gradle

为自定义源设置的Android的Gradle口味 – Gradle文件应该是什么样的?

我已经有一个旧的eclipse项目,我已经进入android studio并设置使用口味。 它似乎工作正常,直到我开始尝试在我的口味之间使用不同的Java文件。 我的项目设置是这样的: ProjectRoot +- acitonbarsherlock +- facebook +- myLib1 +- myProject +- src +- commonFiles +- flavor1 +- flavor2 +- res +- flavor1 +- flavor2 myProject gradle文件的android内核看起来像这样: android { compileSdkVersion 17 buildToolsVersion "18.0.1" signingConfigs { … } productFlavors { flavor2 { } flavor1 { } } sourceSets{ main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = […]

在Android Gradle项目中复制APK文件

我试图添加一个自定义任务到我的Android项目的build.gradle复制最终APK和Proguard的mapping.txt到不同的目录。 我的任务取决于assembleDevDebug任务: task publish(dependsOn: 'assembleDevDebug') << { description 'Copies the final APK to the release directory.' … } 我可以看到如何使用标准的Copy任务types来执行文件复制,如下所示: task(copy, type: Copy) { from(file('srcDir')) into(buildDir) } 但假定你知道你想要复制的文件的名称和位置。 我如何才能find作为assembleDevDebug任务的一部分构build的APK文件的确切名称和位置? 这是作为一个财产? 感觉好像我应该能够将文件声明为我的任务的input,并将它们声明为assemble任务的输出,但是我的Gradle-fu不够强大。 我有一些自定义逻辑将版本号注入APK文件名,所以我的publish任务不能仅仅假设默认名称和位置。

你如何设置Gradle项目的Maven工件ID?

从gradle maven-publish插件的文档中 ,很明显你可以直接在build.gradle设置groupId和项目的version : group = 'org.gradle.sample' version = '1.0' 但是, artifactId似乎取自您正在其中工作的文件夹的名称。 有没有办法明确设置artifactId ?

Gradle单对双引号

我是新来的gradle,目前只是试图按照教程,我看过很多次单引号和双引号的混合。 我只是想知道在一套应该用于另一套时是否有差异。 其中一个例子是本教程的第6.12节 – 默认任务 : defaultTasks 'clean', 'run' task clean << { println 'Default Cleaning!' } task run << { println 'Default Running!' } task other << { println "I'm not a default task!" } 所以,我只想知道我是否应该注意这些差异,或者它们是否可以互换,并且在gradle中打印string时可以使用单引号或双引号。

IntelliJ IDEA 9 + Maven +版本控制的最佳实践

该项目正在使用Maven,所以POM文件是项目信息的主要来源。 在项目文件中有一些有用的设置,这将是很好的保持。 OTOH IDEA似乎在项目文件结构中创build了太多冗余的变化,污染了SVN的历史,有时会产生冲突。 我应该保持.idea目录和* .iml文件在版本控制下? 在全? 部分? 更新:所以我发现为我和我的团队工作的最佳做​​法是迄今为止: 检入所有的IDEA文件,* .iml和.idea目录。 它们包含有价值的信息,每次更新时都会浪费时间来重新创build。 为每个开发者创build私有分支 cd进入.idea目录 svn切换到它的私人分支机构 不要在常规提交中检查IDEA文件 – 它们会污染历史。 检查他们在特殊的承诺。 通过这种方式,您可以将版本控制中的.idea目录的内容保留在版本控制中,但不会妨碍正常提交。 任何开发人员都可以访问任何其他人的IDEA目录。 更新2:由于这个问题已经写好,我已经改变了我的做法,就是没有将任何IntelliJ文件检入到版本控制中,正如许多响应者所build议的那样。 这是我目前Maven和Gradle的做法。 这些工具已经发展到可以始终从原始的.POM或.gradle文件复制关键信息的地步。 当文件改变时,IDE可靠地跟踪改变,所以你不会丢失你的IDE文件,因此不需要检查它们。 更新3: 7年之后问这个问题似乎仍然有关。 相同的最佳实践也适用于Gradle(也可能是SBT):不要检查IDE文件,根据需要从基本的POM,.gradle或SBT文件中重新创build它们。

在Android Studio中运行Robolectrictesting时如何进行debugging?

我需要在Android Studio + Robolectric中执行testing时运行debugging。 每次我尝试通过从Gradle任务中selecttest任务的debug来运行它们时,我都会收到错误消息: 运行package_name时出错:app_name [test]:无法打开debugging程序端口:java.net.SocketException“套接字已closures” 有任何想法吗?

Android Studio更新后,Gradle项目刷新失败

这是输出: 上午11:57:04 Gradle'KeddreaderProject'项目刷新失败:原因:org.gradle.internal.service.ServiceLocator。([Ljava / lang / ClassLoader;)V: 我试图删除.gradle文件夹,但它没有帮助。 可能是什么问题? 编辑:即使我尝试在Ubuntu 13.10上导入任何其他项目,我得到这个错误。 但是在Windows上,一切正常(与Android Studio的版本相同)。

将现有的Gradle Git项目导入到Eclipse中

我从这里安装了eclipse gradle插件 http://kaczanowscy.pl/tomek/2010-03/gradle-ide-integration-eclipse-plugin 有没有一种简单的方法来使用gui导入到eclipse gradle项目中,而不是做什么 这里描述: http : //gradle.org/docs/current/userguide/eclipse_plugin.html ?

Android Studio – 如何ZipAlign apk

我已经使用Android Studio创build了一个已签名的apk,现在我要去zipalign,我已经阅读了这个: http : //developer.android.com/tools/help/zipalign.html,但我仍然不确定在哪里添加代码行,它是在Gradle文件中,并在文件中添加行吗?

gradle中这些任务定义语法有什么区别?

一个) task build << { description = "Build task." ant.echo('build') } B) task build { description = "Build task." ant.echo('build') } 我注意到,对于typesB,即使在列出所有可用的任务时,在inputgradle -t -ant时也会执行任务内的代码。 描述实际上也用typesB显示。但是,在typesA中,列出可用任务时不执行gradle -t ,执行gradle -t时不显示描述。 这些文档似乎没有涉及这两个语法(我已经find)之间的差异,只是你可以任意定义一个任务。