我试图了解如何使用Gradle构建Android应用程序。令我惊讶的是,我找到了两个引用,一个来自jvoegele,另一个来自Android Tools Project网站。他们似乎表面上看起来不同。所以我的问题是为什么有两种变体?这两者之间有什么关系吗?他们目前的状况如何?我应该使用哪一个 - 它们的优点和缺点?似乎Android版刚刚开始。
我期待有一些宝贵的意见,他们拥有使用Gradle构建Android应用程序的第一手经验。
谢谢和问候
Santanu
答案 0 :(得分:1)
我只是在玩android工具项目网站的gradle插件,并且很难弄清楚事情应该如何运作。它集成到eclipse开发工作流程中并不是很好,甚至eclipse的默认项目配置也不适合我。可以通过扩展项目和类路径文件以及在gradle构建文件中修改项目布局来解决此问题。
为了修复eclipse项目的创建,我受到jvoegele插件的启发(积分去那里):
eclipse{
project {
natures "com.android.ide.eclipse.adt.AndroidNature"
def builders = new LinkedList(buildCommands)
builders.addFirst(new BuildCommand("com.android.ide.eclipse.adt.PreCompilerBuilder"))
builders.addFirst(new BuildCommand("com.android.ide.eclipse.adt.ResourceManagerBuilder"))
builders.addLast(new BuildCommand("com.android.ide.eclipse.adt.ApkBuilder"))
buildCommands = new ArrayList(builders)
}
classpath {
containers.removeAll { it == "org.eclipse.jdt.launching.JRE_CONTAINER" }
containers "com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"
plusConfigurations += configurations.compile
file {
whenMerged { classpath ->
classpath.entries.removeAll { it instanceof SourceFolder && (it.dir?.path == "gen" || it.dir?.path == "src") }
classpath.entries.add(new SourceFolder("gen", null))
classpath.entries.add(new SourceFolder("src", null))
}
}
}
}
如果您希望快速提升项目效率,那么这个插件并不适合您。
答案 1 :(得分:1)
jvoegele的原始Android gradle插件是no longer supported,但com.android.tools.build
插件之间的功能差距在缩小。
答案 2 :(得分:0)
从长远来看,我肯定会选择Android工具项目;它确实在进行中,但是android工具组正在非常积极地开展工作。他们打算将此作为当前ant构建系统的替代方案