eclipse 怎么打开build.gradle 详解

20778人阅读
构建工具(2)
现在,公司的安卓主程的带动下,我也在不断的进步中。以前用惯了Maven,觉得能够自动打包测试、能够使多Profile打包已经很爽,很了不得了。
现在,也不是有多心水Grandle,只是觉得既然是第三代的打包工具,那么作为一个积极上进的程序员,一个以大牛为远大理想的程序员,不能落在时代的后面,哈哈~
说说Gradle
刚开始认识Gradle这个名词是在蘑菇街的一场 交流会上,当时只是一个概念;第二面,是试图下载编译Spring源码的时候;第三面,就是我司较真的安卓主程,有一天兴高彩烈的跟我说,我终于做好多渠道自动打包啦(我们很弱,不要笑话:)
据我现在的知识理解,gradle是特别适合安卓项目使用的,原因就在于gradle的特长之一就是多版本构建,恰恰切合了安卓项目的多渠道打包(一次打多个包),Maven只能是切换不同的Profile,一次打一个包。
gradle另外一大优点就是可以多工程打包,像spring,可以将项目切分成不同的工程,一次打出来一组分开的jar包。(补充:这里必须补充,maven也可以实现多工程的管理,只需要在maven工程上创建modules即可,后续会写博文补充实现方法)
最后,就是gradle所使用的groovy语言,在灵活性,和简洁性上基于xml的ant和maven是无法比拟的。
eclipse中如何使用gradle
我是比较懒的人,命令行这东西一直不在行(Linux的操作除外),比如git一直没有用命令行去操作过,一直用的是eclipse的git插件可视化操作。
在开始摸索gradle的时候,第一个想要找的就是eclipse的集成插件。这个插件新出,在中文网站也很少能够找到他的安装、使用说明。这里可能是你见到的第一个中文教程,它就是buildship。一个gradle公司为eclipse用户开发的集成插件(intelJ、NetBeans、STS中在2015年就已经有了)2015年7月发布的第一个版本。
buildship的github位置
安装gradle
1.安装JDK,这个就不用说了
2.下载gradle发布文件,下载地址:可以下载完整版或者简洁版都可以。
3.解压下载的zip文件,放到C盘(建议放到c盘)
4.添加环境变量GRADLE_HOME,添加值为C:\gradle-2.9-bin\gradle-2.9;
5.PATH环境变量中添加%GRADLE_HOME%/bin;
6.命令行中输入gradle -v,查看是否配置正确,正确会输出gradle的版本信息;
安装buildship插件
针对所有eclipse版本,官方都提供了安装方式,具体可见:
下面把简单步骤,中文描述一下:
1.eclipse中依次打开“Help”–》“Eclipse Marketplace”,在搜索栏中输入“buildship”进行搜索;
2.点击install,等待安装完成,按照提示重启eclipse即可。
3.安装成功后,可以在Window–&Show View–&Others…中和File–&New–& Other…中看到增加的Gradle选项。
到这里,使用buildship需要安装的东西已经安装完了,下一节会介绍如何使用buildship去创建你的工程。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:143411次
积分:2245
积分:2245
排名:第13051名
原创:85篇
转载:11篇
评论:43条
(4)(1)(5)(7)(4)(1)(7)(4)(3)(1)(1)(5)(7)(3)(2)(4)(2)(1)(6)(2)(1)(2)(1)(1)(4)(2)(3)(1)(1)(5)(1)(4)(2)(2)本来很久之前想弄这玩意,不过因为各种原因,所以没弄。
今天有位前辈提出需求。说想让Eclipse的Android项目逐步走向Android Studio,但是又担心Android Studio一时三刻适应不过来。
说能不能不改变源代码的主要工作目录(在Eclipse的android project root/的&src、res、lib、AndroidManifest.xml四个目录)来在Android Studio上开发呢?
我当看到这篇博客的看官已经对Android Studio有足够熟悉
(怎么才算足够熟悉呢?)
1.起码你的Android&Studio已经能运行起来。而不是像其他的同学说。我的Android Studio一直跑不起来。
2.知道Android的构建工具是Gradle是什么玩意?起码你环境(命令行CMD)上敲入gradle -v 能见到你的Gradle version
3.知道Android Studio的Project相当于Eclipse的Workspaces ,Module 相当于Eclipse的project
4.知道Android Studio的Android Module&root目录分布 (build,libs,src以及build.gradle文件),以及里面都是些什么东西。
开始正文吧:
如果已经投向Android Studio的同学大可以不看这篇玩意。因为你们已经很熟悉Android Studio了。
1.如上题目。Eclipse与Android Studio这两个IDE的Android项目因为工作目录不相同,所以不能很好的兼容开发。
如果看了某些文章的话。(/articles/2q6fMr),
知道Android project 打包方式 (Eclipse使用Ant,Android studio 是用Gradle)
那既然他们本来不一样的打包方式,怎么切换IDE来进行开发呢?
2.我们知道Google 为了让更多的Android开发者的IDE从Eclipse 转去Android Studio。就有一个操作。就是能直接把导入Eclipse的Android project
看到这里。同学说。你这是废话嘛?下面还要继续看不?
虽然可以直接导入项目,但是导入进去后,发现项目在Android Studio的工作目录已经发生翻天覆地的变化了。(其实就是变成了Android studio的项目而已)
3.正因为有上面两点,所以本文才有需求出现。
(其实本文工作原理很简单的。就是为了适应在Android studio上运行而改变一下Gradle的脚本,至于Gradle的脚本怎么写。下面会提到。)
准备工作:
1.新建好一个能运行的(HelloWorld) 的Android 项目。
2.右击该死的项目导出
我假如你只打开一个项目。后面的步骤就一直Next就好了。
3.为了明显表现多了哪些文件。所以就用SVN的项目来做Demo。
如图的多出的文件(build.gradle,gradlew,gradlew.bat)与及文件夹(gradle)
其中只有build.gradle和文件夹(gradle/wrapper)中的gradle-wrapper.properties有用。
(别急着删除其余的,其他你只是不用修改他而已,不是让你删除它。
(gradlew,gradlew.bat 这两玩意是给 玩 &命令行& 的人用的。至于你用哪一个呢?就看你哪个系统了。
后话:我一开始都感觉这两玩意是没有用的。
(因为我配置Gradle在环境了。一直用着gradle命令。没有用gradlew,这个后面带有w的gradlew)
其实这个gradlew是你当前项目中的gradle命令。
如果你执行gradle编译这个项目。很可能遇到这样的话
Gradle version 1.10 is required. //你当前项目需要用的版本Current version is 2.3. //你环境用的gradle版本If using the gradle wrapper, try editing the distributionUrl in %项目目录%\gradle\wrapper\gradle-wrapper.properties to gradle-1.10-all.zip
或者某些无聊的问题。
所以如果你不想出错的话。一般就用gradlew.bat来操作吧。毕竟别人项目指定这个版本。
gradle-wrapper.properties 这个文件说有用,也可以,说没有用,也可以
(这个文件控制你用哪一个版本的Gradle来构建项目,
因为某些原因(也跟人品有关系的),突然就用不了,
人品好时就不用换就能用了。
人品不好就需要你更换一下版本号。
至于版本号,你第一次用的话,就只能上去https://services.gradle.org/distributions/这里找一下。(这个是标配的网址),
有些时候慢得可怜。你大可以上官网下载。https://gradle.org/downloads/,下好再丢到相应版本号文件下面就好。
还有其他方法的。不过本人比较懒。而且公司网络是HK的。所以很快就下载好了。
build.gradle 只是把你的Eclipse的信息翻译在这个配置文件(这玩意就是你在Android studio打包用的)
4.现在你的项目已经整合了Gradle了。现在只能试试能用不。
我本人Eclipse已经装了StartExplorer 这个插件,所以直接在这个项目下打开CMD,敲入gradle -gui(这个是gradle 源生图形化工具)
然后你就见到基于你那个build.gradle的所有命令了
(我当时人品不好又遇到这个问题,至于解决方案,上面讲了。自己看看上面吧。)
5.我假设你已经在刚才的Gradle图形化工具执行(gradle installBug或者 gradle iB(驼峰命令。你懂的))成功。
那我们就转移去Android Studio中导入我们这个项目。
这点是有要求的。
一般我们导入项目。就是傻乎乎的导入项目的目录
如果这样导入的话。Android Studio就当你的项目是Eclipse项目导入进来(只是不帮你变化项目目录结构),不过Android Studio只识别一个build.gradle文件。
这是你如果是一个刚刚使用Android studio的同学。 这回你惨了。你肯定花上不止一两个小时。解决这样的问题。(心里有千万只草泥马跑过,在埋怨Android studio的开发者)
正确的做法是在导入时,点击你的刚刚在Eclipse导出的build.gradle文件来导入到Android Studio。
这时。同学们就看到你的Eclipse的项目在Android studio这个IDE了。
6.这时看到清楚一点的同学。发现怎么与Eclipse的目录不一样呢?
其实实际上目录上没有发生改变。只是。你的项目还有问题!
这个问题在下面的&0:Message&一般错误都在这里显示的。
看到上面两张图都有一个共同的错误吧,因为你当前Android studio使用依赖包是 1.2.3
而你的build.gradle文件依赖着还是下面这句
  dependencies {  classpath 'com.android.tools.build:gradle:0.12.+'
所以你先把你的&classpath 'com.android.tools.build:gradle:0.12.+' 改为&classpath 'com.android.tools.build:gradle:1.2.3'
这是你再保存。按一下 "Ctrl + F9" 运行一下项目。
这时又出现一个错误了。(这里我黏贴一下吧。因为很多人遇到这个错误)
Error:Unable to load class 'org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'.Possible causes for this unexpected error include:&ul&&li&Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)&a href="syncProject"&Re-download dependencies and sync project (requires network)&/a&&/li&&li&The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.&a href="stopGradleDaemons"&Stop Gradle build processes (requires restart)&/a&&/li&&/ul&In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.
解决办法就是:就是把你的gradle-wrapper.properties换一下。换一个高级一点的Gradle Version. 这个然后在编译一下,这时奇迹出现了。
你的Android Studio 项目目录居然变成Eclipse那样,这时,如果没有什么意外。就可以直接点击那个三角符号。运行项目了。
(虽然在项目工作根目录中多了不少的文件,不过那些文件不影响项目的开发和打包,所以来说,算可以跨IDE开发了)
本文就说到这里吧。去吧。骚年。好好体验Android studio吧。
阅读(...) 评论()23276人阅读
Android从入门到精通(118)
gradle其他好处就不多说,在android应用发布的时候,如果要统计多个渠道,gradle 批量打包的好处就显示出来了;下面介绍图文来介绍
按eclipse的导出时 选择Android;如下图 然后按下面一步一步往下点
欢迎加入QQ交流3群:
点击完成之后 工程里面就生成了如下的几个文件;也就是gradle的配置文件
打开gradle-wrapper.properties这个文件;可以看到distributionUrl这个地址;而这个地址就是gradle的下载地址;在浏览器打开下载 如下图:
将下载的文件押解出来;然后需要设置系统环境变量;需要设置变量名:GRADLE_HOME变量值为:C:\xiong\gradle-1.10-all\gradle-1.10(也就是你下载的Gradle文件的根目录)然后设置path;在后面加上C:\xiong\gradle-1.10-all\gradle-1.10\bin 如下图
然后运行在cmd中运行gradle -v来判断是否设置成功 如下图
确定安装成功之后就基本可以运行gradle命令来打包了;将cmd命令定位到工程的根目录,然后运行gradle bulid
如果需要批量打包;则在build.gradle进行配置
原始eclipse生成的文件内容如下
buildscript {
repositories {
mavenCentral()
dependencies {
classpath 'com.android.tools.build:gradle:0.8.+'
apply plugin: 'android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compileSdkVersion 19
buildToolsVersion &19.0.3&
sourceSets {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
// Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')
// Move the build types to build-types/&type&
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/&type&/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
只要在如上代码中添加就可以 &比如
buildscript {
repositories {
mavenCentral()
dependencies {
classpath 'com.android.tools.build:gradle:0.8.+'
apply plugin: 'android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compileSdkVersion 19
buildToolsVersion &19.0.3&
sourceSets {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
// Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')
// Move the build types to build-types/&type&
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/&type&/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
//批量打包--指定配置文件
//不同的渠道商对应的各自AndroidManifest
//AndroidManifest的application标签只用配置渠道号的值
//其他公共配置都放在公共的AndroidManifest.xml中
manifest.srcFile 'tests/AndroidManifest1.xml'
manifest.srcFile 'tests/AndroidManifest2.xml'
instrumentTest.setRoot('tests')
//批量打包--声明
productFlavors {
//这里可以配置不同的包名
signingConfigs {
myConfig {
storeFile file(&11.keystore&)
//签名文件
storePassword &111111&
keyAlias &111111&
keyPassword &111111&
//签名密码
至于其他的 俺就不说了 不动找度娘
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:895357次
积分:7732
积分:7732
排名:第1962名
原创:116篇
转载:72篇
评论:307条
文章:55篇
阅读:583914posts - 404,&
comments - 8,&
trackbacks - 0
一、Gradle简介 Gradle 是以 Groovy 语言为基础,面向应用为主。基于DSL(领域特定语言)语法的自动化构建工具。 & 二、配置步骤如下: 1、资源下载: Grandle官网下载Gradle,地址:
提示:如果只是运行可以只下载bin,为了扩展开发还是下载all。 & 2、下载完毕后,解压zip至安装目录即可,例如:D:\Program Files & 3、设置环境变量,需要设置如下2个环境变量
1、添加GRADLE_HOME指向gradle的安装目录的根目录
GRADLE_HOME=D:\Program Files\gradle-2.0
2、Path变量添加gradle的bin目录
D:\Program Files\gradle-<span style="color: #.0\bin
& 4、以上步骤设置完毕,打开cmd,运行gradle -v看到gradle的版本信息,配置完成。
& 5.打开Eclipse,Help--&Install new software,输入
如果提示找不到地址,估计是被墙掉了,需要FQ。如果找得到地址,选择安装项,然后一直下一步,直到安装完毕,重启Eclipse即可。
& 6.创建一个web项目,在根目录下创建一个build.gradle文件
build.gradle文件内容如下:
import org.gradle.plugins.ide.eclipse.model.Facetapply plugin: 'maven'apply plugin: 'java'apply plugin: 'war'apply plugin: 'eclipse-wtp'sourceCompatibility = 1.8&& // 设置 JDK 版本webAppDirName = 'WebContent'&&& // 设置 WebApp 根目录sourceSets.main.java.srcDir 'src'&& // 设置 Java 源码所在目录// 设置 maven 库地址repositories {& &&& mavenCentral() // 中央库&&& maven { url 'http://localhost:8081/nexus/content/groups/public' } // 自定义库地址}// 设置依赖dependencies {&&& providedCompile 'javax.servlet:servlet-api:2.5' // 编译期&&& providedRuntime 'javax.servlet:jstl:1.2'&&& // 运行时}// 设置 Project Facetseclipse {&&& wtp {&&&&&&& facet {&&&&&&&&&&& facet name: 'jst.web', type: Facet.FacetType.fixed&&&&&&&&&&& facet name: 'wst.jsdt.web', type: Facet.FacetType.fixed&&&&&&&&&&& facet name: 'jst.java', type: Facet.FacetType.fixed&&&&&&&&&&& facet name: 'jst.web', version: '2.5'&&&&&&&&&&& facet name: 'jst.java', version: '1.8'&&&&&&&&&&& facet name: 'wst.jsdt.web', version: '1.0'&&&&&&& }&&& }}
提示:项目有个G,正常情况下是没有的,需要右键项目 "Configure-&Convert to Gradle Project..",稍等下就OK了,就能像我有这个图标G,
添加依赖包:需要右键项目"Gradle-&Refresh All","Gradle-&Dependency-&Management".
8、可能报错
Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the user guide chapter on the daemon at http://gradle.org/docs/2.2.1/userguide/gradle_daemon.html
Please read the following process output to find out more:
-----------------------
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Could not fetch model of type 'HierarchicalEclipseProject' using Gradle distribution 'https://services.gradle.org/distributions/gradle-2.2.1-bin.zip'.
1、定位到目录 C:\Users\&username&\.gradle
2、创建文件gradle.properties
内容:org.gradle.jvmargs=-Xmx512m
3、重启你的Android Studio项目,即可。
9、设置gradle下jar包的保存地址, "window-&preferences-&gradle",如下:
阅读(...) 评论()

我要回帖

更多关于 eclipse 打开 gradle 的文章

 

随机推荐