介绍:

由于Android Studio使用的构建工具是Gradle,所以如果Eclipse和Android Studio想互相构建彼此的应用,必须使用Gradle。
Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。
 

注意:

1、由于android使用的Gradle版本是1.12,所以下载1.12版本即可,使用高版本则会报错。
2、在Eclipse导出gradle.build时,如果有某些依赖项报错:Make sure all dependencies are opened,则要确保该依赖项的位置是与项目位于同一workspace的!
 

设置:

1、下载完Gradle后,需要设置系统环境变量,变量名:GRADLE_HOME  变量值:你的路径\gradle-1.12,然后在系统变量PATH中添加%GRADLE_HOME%\bin;
2、同时要注意Android环境变量是否设置,变量名:ANDROID_HOME 变量值:AndroidSdk的路径(例如E:\Program Files (x86)\Android\android-studio\sdk),然后在系统变量PATH中添加%ANDROID_HOME%\tools;
 

示例:

Android示例在Android-18之后大多都是用gradle进行构建的,所以想看示例APK用eclipse构建就比较麻烦。假设我现在想直接构建sdk\samples\android-19\ui\CustomNotifications的APK查看示例。
目录结构如图所示
 
打开cmd--》cd 示例目录 --》运行gradle build
当结束看到BUILD SUCCESS或者在CustomNotificationsSample\build\outputs\apk文件夹中看到
那么构建就成功了。
 
我们再试试另一个示例\sdk\samples\android-20\ui\TextSwitcher,步骤同理
 
gradle那么神奇?自动就会构建应用了?
其实在构建的过程中,使用到了build.gradle这个文件,里面的内容就是构建脚本
  1. buildscript {
  2. repositories {
  3. mavenCentral()
  4. }
  5. dependencies {
  6. classpath 'com.android.tools.build:gradle:0.10.+'
  7. }
  8. }
  9. apply plugin:'android'
  10. dependencies {
  11. // Add the support lib that is appropriate for SDK 4
  12. compile "com.android.support:support-v4:19.1.+"
  13. }
  14. // The sample build uses multiple directories to
  15. // keep boilerplate and common code separate from
  16. // the main sample code.
  17. List<String> dirs =[
  18. 'main',// main sample code; look here for the interesting stuff.
  19. 'common',// components that are reused by multiple samples
  20. 'template']// boilerplate code that is generated by the sample template process
  21. android {
  22. compileSdkVersion 19
  23. buildToolsVersion "19.0.1"
  24. sourceSets {
  25. main {
  26. dirs.each { dir ->
  27. java.srcDirs "src/${dir}/java"
  28. res.srcDirs "src/${dir}/res"
  29. }
  30. }
  31. androidTest.setRoot('tests')
  32. androidTest.java.srcDirs =['tests/src']
  33. }
  34. }
一般情况下,我们都使用自动生成的build.gradle
当然你也可以自己手写,不过前提是要去官网学习相关内容。
 
当Eclipse ADT升级到22.0或更高的版本后,我们就能使用导出android的build.gradle功能了。
跟着步骤走即可。在Android Studio中,导入这个build.gradle即可将Eclipse的项目导入Android Studio。

常见问题:

1、Could not create plugin of type 'AppPlugin'
这个大概就是版本不匹配的问题
打开记得把build.gradle的只读属性去掉~~
把文件里面的版本换成0.10.+就好啦~

使用Gradle构建android应用的更多相关文章

  1. 用Gradle 构建android程序

    前言 android gradle 的插件终于把混淆代码的task集成进去了,加上最近,android studio 用的是gradle 来构建项目, 下定决心把android gralde 构建项目 ...

  2. 使用Gradle构建Android项目

    阅读目录 Gradle是什么? 环境需求 Gradle基本结构 任务task的执行 基本的构建定制 目录配置 签名配置 代码混淆设置 依赖配置 输出不同配置的应用 生成多个渠道包(以Umeng为例) ...

  3. 在内网使用Gradle构建Android Studio项目

    在Android Studio项目中,默认的远程仓库为jcenter,如果在项目引用了一些类库,Gradle构建程序的时候会将这些依赖类库从jcenter网站下载到本地,如我们在 build.grad ...

  4. 使用Gradle构建Android应用内测版本

    在开发应用的过程中,有时候需要比较当前线上版本和正在开发中的版本差异,目前的做法只能是在两个不同的设备上面安装线上版本和开发中的版本,因为当前版本在调试过程中会覆盖旧版本.本文通过使用gradle来构 ...

  5. gradle构建android项目详解

    1.用Gradle构建 1.1 工程结构 如图所示,这是一个不能更普通的Android的Gradle工程了. 根目录下面的settings.gradle当中主要是用来include子模块的,比如我们这 ...

  6. 使用gradle构建Android时 版本号versionName中嵌入git提交信息

    为什么要这么做   在应用开发的版本迭代过程中,通过版本号并不能快速定位到所对应的代码,导致在后面分析问题追溯对应版本的代码时比较麻烦.   如果代码是通过git来管理的,git的commit id等 ...

  7. Gradle 构建 android 应用常见问题解决指南

    前言 android gradle 插件已经发展到0.5.7,同时gradle 本身也到了1.8,相比两个月前,android gradle 更快,更完善,也更好用了,为了让各位androider 早 ...

  8. gradle构建android项目

    工具: Android Studio2.0 gradle-2.10 一.Android常识 在做Android开发的时候我们首先必须要有一个SDK.一般SDK的主要作用就是将硬件和软件进行分离,做软件 ...

  9. [Gradle] Gradle 构建 android 应用常见问题解决指南

    转载地址:http://www.cnblogs.com/youxilua/p/3348162.html 1: 使用最新的gradle android插件 以前我们写的时候会这么写 dependenci ...

随机推荐

  1. 无法解决 equal to 运算中 &quot;Chinese_PRC_CI_AS&quot; 和 &quot;SQL_Latin1_General_CP1_CI_AS&quot; 之间的排序规则冲突。

    什么是排序规则(collation) 关于SQL Server的排序规则,估计大家都不陌生,在创建数据库时我们经常要选择一种排序规则(conllation),一般我们会留意到每一种语言的排序规则都有许 ...

  2. svn 分支与合并的使用

      在使用svn的时候我们往往有这样的需求.我们修改某些代码,因为对某项技术不是非常的熟悉,担心自己当前的修改(或者叫测试)会影响到服务器中版本库代码的崩溃等.传统做法我们会手动复制一份代码,然后修改 ...

  3. HDOJ 2069 Coin Change(母函数)

    Coin Change Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  4. Telnet、FTP、SSH、SFTP、SCP

    [Telnet]著名的终端访问协议,传统的网络服务程序,如FTP.POP和Telnet,其本质上都是不安全的:因为它们在网络上用明文传送数据.用户帐号和用户口令. [telnet命令]telnet h ...

  5. NGUI 实现 透明底图遮罩 && 人物像素变黑

    今天 UI 那边要求实现一个 透明底图遮罩 与 变黑 的效果. 刚开始考虑使用 shader 实现一个 网上搜了一下,发现了这个,但是底图需要不透明才行,不然他会把 底图的不遮罩部分的透明部分 进行颜 ...

  6. Runtime的用法

    public class RuntimeTest { public static void main(String[] args) { Runtime run =Runtime.getRuntime( ...

  7. iOS项目的完整重命名方法图文教程

    原文链接:http://www.cocoachina.com/ios/20150104/10824.html iOS项目的完整重命名方法图文教程 前言:在iOS开发中,有时候想改一下项目的名字,都会遇 ...

  8. Raphaël 是一个小型的 JavaScript 库,用来简化在页面上显示向量图的工作。你可以用它在页面上绘制各种图表、并进行图片的剪切、旋转等操作。

    点这里 在线效果演示:http://raphaeljs.com/pie.html http://raphaeljs.com github: https://github.com/DmitryBaran ...

  9. ListView的item选中效果

    有时app会需要点击某个item并实现选中的效果,例如做pad时用Fragment实现的左侧列表右侧内容的效果,点击左侧某一个item后会高亮选中 有时简单的使用setSelected(boolean ...

  10. Activity学习(三)——跳转传值

    Activity跳转与传值,主要是通过Intent类来连接多个Activity,以及传递数据.   Intent是Android一个很重要的类.Intent直译是“意图”,什么是意图呢?比如你想从这个 ...