Age*_*opf 7 ant android gradle android-studio android-gradle-plugin
我已成功将我的项目从eclipse迁移到android studio,并生成了一个默认的build.gradle文件.项目构建正确,我可以部署到调试等.
真正的问题是构建发布APK文件(从命令行)我曾经有一个自定义的ant-build(通过命令行调用,而不是eclipse).
我的自定义build.xml通过以下方式从SDK文件夹导入标准sdk build.xml文件:
<import file="${sdk.dir}/tools/ant/build.xml" />
Run Code Online (Sandbox Code Playgroud)
因此,我在build.xml中所做的就是覆盖目标或通过"depends"挂钩它们.
覆盖的示例:
<target name="-set-release-mode" depends="-set-mode-check">
<!--Here I rename my output apk files to something like: myapp-versionFromAndroidManifest.apk -->
</target
Run Code Online (Sandbox Code Playgroud)
以及添加依赖项的示例:
<target name="-pre-build" depends="clean">
<!-- my custom code where I copy resource files, process command line arguments
use xpath to extract things like the version from the AndroidManifest.xml and
write them into custom xml files etc... -->
</target
Run Code Online (Sandbox Code Playgroud)
总的来说整个事件使用蚂蚁非常简单.但是现在谈到迁移到gradle我完全失去了,如何完成我之前在ant中所做的那样,具体来说:
我搜索了一堆教程,还有迁移教程(很遗憾没有解决我的问题):
http://keepsafe-engineering.tumblr.com/post/87818767721/migrating-android-app-from-ant-to-gradle
http://ryanharter.com/blog/2013/07/17/migrating-android-projects-to-gradle/
我还从Gradle文档中读到了本章,这些文档根本没有帮助,因为它没有回答问题1或2或3:
http://www.gradle.org/docs/current/userguide/ant.html
以下给出了一些有趣的指示:
http://toastdroid.com/2014/03/28/customizing-your-build-with-gradle/
我还尝试简单地将sdk文件夹中的默认build.xml复制到我自己的build.xml中,然后简单地在gradle中导入该ant构建文件并执行构建踢的ant任务:
<target name="release"
depends="-set-release-mode, -release-obfuscation-check, -package, -post-package, -release-prompt-for-password, -release-nosign, -release-sign, -post-build"
description="Builds the application in release mode.">
</target>
Run Code Online (Sandbox Code Playgroud)
但是我开始遇到问题,这表明这不再是一个选项,因为默认的build.xml开始抛出错误,这似乎与SDK版本有关.由于新的android工作室项目结构,我不得不使用原始的sdk build.xml乱用很多,所以文件不是他们预期的地方等等......
gradlew tasks
在项目的根目录执行来列出任务列表。init.dependsOn anotherTask
。 归档时间: |
|
查看次数: |
5368 次 |
最近记录: |