网上有一篇文章说的很明白,
图文来教你在eclipse下用gradle 来打包Android
http://blog.csdn.net/x605940745/article/details/41242687

步骤为:

1. Elipse里面导出,Generate  Gradle build files

2. 找到生成的gradle文件夹,里面有 gradle-wrapper.properties,打开后如下

#Wed Apr 10 15:27:10 PDT 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-all.zip

3. 复制最后一行,下载这个文件,并拷贝到指定目录

4. 配置环境变量, GRADLE_HOME= E:\GraldeTest\gradle-1.10-all\,并把 GRADLE_HOME\bin 加入到PATH里面。

5. 命令行里面输入 gradle -v, 如果配置成功,会显示相应的版本号。

6. 跳转到android 工程文件夹,执行gradle build,生成APK。APK 在build\outputs\apk里面。

7. 如果要Release版本的,build.gradle 要做一下修改,

增加:

signingConfigs{
        release{
            storeFile file("keystores/SeagateDashboard.keystore")
            storePassword "nero1234"
            keyAlias "[dashboard]"
            keyPassword "nero1234"
        }
    }

buildTypes{
        release{
            signingConfig signingConfigs.release
        }
    }

8.  如果使用了最新的gradle,例如 2.3,导致build失败,需要修改一下配置

distributionUrl=http\://services.gradle.org/distributions/gradle-2.3-all.zip

当然了,GRADLE_HOME里面也要改过的。

另外

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'
    }
}

这个版本号和grade的对应,参考 https://developer.android.com/tools/revisions/gradle-plugin.html

具体的对应关系不详,需要多试试。

9.  编译时可能会报错 sdk location not found.define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

本地创建一个local.properties, 内容为

sdk.dir=C:\android\sdk …. (ANDROID_HOME所在路径)

如果是在集成服务器上,例如Bamboo,需要使用第三方组件 android-sdk-manager (https://github.com/JakeWharton/sdk-manager-plugin)。

这个组件会帮我们下载android sdk,并配置local.properties.

并且需要在build.gradle头部增加如下信息,这些必须在apply android前面。

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'
        classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.+'
    }
}
apply plugin: 'android-sdk-manager'
apply plugin: 'android-library'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

其他参考:

gradle教程 [原创](eclipse/ADT下 非插件 非Android Studio/AS)纯手打 第二篇:gradle简单实战

Gradle 笔记的更多相关文章

  1. gradle笔记

    gradle笔记 一.基础知识 1.1.groovy语言 Groovy适用于Java虚拟机的一种敏捷的动态语言,他是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言,使用该 ...

  2. Gradle笔记——构建基础

    本篇文章主要介绍一下Gradle的构建基础. 它看起来似乎和android项目没多大关系.不能让人一下子理解android项目中的Gradle配置文件,可是这篇基础真的非常重要. 学习Gradle前, ...

  3. Gradle笔记——依赖管理基础

    1. 什么是依赖管理 依赖管理可以分为两部分:一是依赖,即项目构建或运行时所需要的一些文件:二是发布,即构建完成后上传到某个地方. 1.1 依赖 大部分的项目都需要第三方库类或项目文件,这些文件就是项 ...

  4. Gradle 笔记——Java构建入门

    Gradle是一个通用的构建工具,通过它的构建脚本你可以构建任何你想要实现的东西,不过前提是你需要先写好构建脚本的代码.而大部分的项目,它们的构建流程基本是一样的,我们不必为每一个工程都编写它的构建代 ...

  5. Gradle笔记系列(二)

    1.使用Gradle命令行 在这篇博客中,我们将简要介绍Gradle命令行的使用. 1.1 执行多任务 通过在命令行列出每个任务(task),你可以在一次构建(build)中执行多个任务.例如,命令g ...

  6. Gradle笔记系列(一)

    1.Gradle概述 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的 ...

  7. Gradle笔记——Gradle的简介与安装

    本博客对Gradle进行一个简单的介绍,以及它的安装. Gradle介绍 Gradle是一个基于JVM的构建工具,它提供了: 像Ant一样,通用灵活的构建工具 可以切换的,基于约定的构建框架 强大的多 ...

  8. Gradle笔记——关于Gradle 1.12

    到目前为止,Gradle已经出到2.1版本了,从1.12这个版本开始看,主要是因为我使用Gradle是Android开发所需要.公司里面是采用Android Studio来进行Android项目的开发 ...

  9. 【项目构建工具】 Gradle笔记2

    一.Gradle执行流程 1.Gradle的执行流程(生命周期)主要是三个阶段: 初始化阶段:解析整个工程中所有Project,构建所有的Project对应的project对象 配置阶段:解析所有的p ...

随机推荐

  1. 解决 yum安装时报错 Error: Protected multilib versions: 报错

    系统中缺少一个lib库 libz.so.1文件,使用yum安装会自动找到相关的rpm包,如下命令 # yum -y install libz.so.1 Resolving Dependencies-- ...

  2. oprofile 安装使用

    ubuntu上要编译安装oprofile.现在版本(0.9.9)的oprofile的编译需要binutil-dev libpopt-dev apt-get install binutil-dev li ...

  3. 3.SRS文档

    1.功能需求 本程序的使用者为局域网用户.程序实现的主要功能是局域网的常见格式的文件的传 输.其用例图如图1.本程序可通过可视化操作界面实现一对多的文件传输. 1.1模块分析 为实现局域网文件传输, ...

  4. 解读SQL 内存数据库的细节

    相信大家对内存数据库的 概念并不陌生,之前园子里也有多位大牛介绍过SQL内存数据库的创建方法,我曾仔细 拜读过,有了大致了解,不过仍有很多细节不清晰,比如: (1)内存数据库是把整个数据库放到内存中的 ...

  5. [WinAPI] API 7 [判断光驱内是否有光盘]

    判断光驱中是否有光盘,仍然可以使用GetDriveType和GetVolumeInformation函数实现.首先使用驱动器根路径作为GetDriveType和参数,如果返回值是DRIVE_CDROM ...

  6. AngularJS快速入门指南09:SQL

    我们可以将之前章节中的代码用来从数据库中读取数据. 通过PHP Server从MySQL数据库中获取数据 <div ng-app="myApp" ng-controller= ...

  7. php中的邮件技术

    前言:程序员不谈恋爱就是对物质世界太贪恋 一.通过smtp服务来发送邮件 使用php中的mail()实现邮件的发送; bool mail ( string $to , string $subject ...

  8. EndPoint详解

    EndPoint详解 EndPoint主要用于暴露一些SpringMvc内部运行的信息,通常是通过SpringMvc的请求地址获取相关信息.如/health获取健康检查信息. 简单单元测试 @Test ...

  9. Java数组一定要初始化才能使用吗?

    数组是大多数编程语言提供的一种复合结构,如果程序需要多个类型相同的变量时,就可以考虑定义一个数组.Java语言的数组变量是引用类型的变量,因此具有Java独有的特性. 在正常的Java开发中,使用Ja ...

  10. ACPI I/O resource conflict with SMBus

    ACPI I/O resource conflict with SMBus 以電子郵件傳送這篇文章BlogThis!分享至 Twitter分享至 Facebook分享到 Pinterest 這幾天遇到 ...