介绍:

由于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. 转 Eclipse下svn的创建分支/合并/切换使用

    最近接项目要求,要在svn主干上创建分支,用分支来进行程序的bug修改,而主干上进行新功能的开发.分支上的bug修改完,发布后,可以合并到主干上.项目程序可以在主干和分支之间进行切换,来实现主干和分支 ...

  2. in_array函数的第三个参数 strict

    看段代码 <?php $array = array('testing',0,'name'); var_dump($array); var_dump(in_array('foo', $array) ...

  3. IO端口和IO内存

    为什么会有IO端口和IO内存 这主要原因是因为处理器的架构不同,这里我们使用arm来代表典型的使用IO内存架构,intel 80x86代表典型的使用IO端口架构.简单来说arm把所有寄存器(包括外部设 ...

  4. 【面试题043】n个骰子的点数

    [面试题043]n个骰子的点数 题目:     把n个骰子扔在地上,所有骰子朝上一面的点数之和为s, 输入n,打印出s的所有可能的值出现的概率.   n个骰子的总点数,最小为n,最大为6n,根据排列组 ...

  5. sqlite3中的数据类型

    大多数的数据库引擎(到现在据我们所知的除了sqlite的每个sql数据库引擎)都使用静态的.刚性的类型,使用静态类型,数据的类型就由它的容器决定,这个容器是这个指被存放的特定列. Sqlite使用一个 ...

  6. uva 10817

    Problem D: Headmaster's Headache Time limit: 2 seconds The headmaster of Spring Field School is cons ...

  7. POJ 1961

    #include<iostream> #include<stdio.h> #define MAXN 1000001 using namespace std; char c[MA ...

  8. 饶有兴致的用javascript做了个贪食蛇游戏

    09年写的东西.一直藏在自己的记事本里头,现在开始整理写博客,所以直接搬过来 先上效果图 再添代码: <HTML> <HEAD> <TITLE>贪吃蛇 Snake ...

  9. Linux操作系统下的Sudo命令

    查看.修改或者执行某些命令需要root用户的权限,如果不想直接切换到root用户,就可以使用sudo命令.sudo命令用于针对单个命令授予临时权限.sudo仅在需要时授予用户权限,减少了用户因为错误执 ...

  10. Linux:-bash: ***: command not found

    Linux:-bash: ***: command not found,系统很多命令都用不了,均提示没有此命令. 突然之间linux很多命令都用不了,均提示没有此命令. 这应该是系统环境变量出现了问题 ...