gradle 构建android,使用Gradle构建android应用

介绍:

由于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查看示例。

049ed28b8f1b2050bb318cecc5c392d2.png

目录结构如图所示

打开cmd--》cd 示例目录 --》运行gradle build

c49a7e73f494afb3c976ea0536edcc5a.png

当结束看到BUILD SUCCESS或者在CustomNotificationsSample\build\outputs\apk文件夹中看到

fd31ecec9800f5ec54c01b54154044a0.png

那么构建就成功了。

我们再试试另一个示例\sdk\samples\android-20\ui\TextSwitcher,步骤同理

fb59f82d729fee93e43f576efd93acec.png

gradle那么神奇?自动就会构建应用了?

其实在构建的过程中,使用到了build.gradle这个文件,里面的内容就是构建脚本

buildscript {

repositories {

mavenCentral()

}

dependencies {

classpath 'com.android.tools.build:gradle:0.10.+'

}

}

apply plugin:'android'

dependencies {

// Add the support lib that is appropriate for SDK 4

compile "com.android.support:support-v4:19.1.+"

}

// The sample build uses multiple directories to

// keep boilerplate and common code separate from

// the main sample code.

List dirs =[

'main',// main sample code; look here for the interesting stuff.

'common',// components that are reused by multiple samples

'template']// boilerplate code that is generated by the sample template process

android {

compileSdkVersion 19

buildToolsVersion "19.0.1"

sourceSets {

main {

dirs.each { dir ->

java.srcDirs "src/${dir}/java"

res.srcDirs "src/${dir}/res"

}

}

androidTest.setRoot('tests')

androidTest.java.srcDirs =['tests/src']

}

}

一般情况下,我们都使用自动生成的build.gradle

当然你也可以自己手写,不过前提是要去官网学习相关内容。

当Eclipse ADT升级到22.0或更高的版本后,我们就能使用导出android的build.gradle功能了。

3255c677b1e849c501219d48d102b967.png

跟着步骤走即可。在Android Studio中,导入这个build.gradle即可将Eclipse的项目导入Android Studio。

常见问题:

1、Could not create plugin of type 'AppPlugin'

这个大概就是版本不匹配的问题

打开

5c2e4b25aed0ecd62dd8743f1f672e68.png

e18560486b77adc7db3638614710b12e.png记得把build.gradle的只读属性去掉~~

把文件里面的版本换成

ffc4e7f0076834eb13839161fcdb67f8.png

80b641ff28c189f3be773005182ebb70.png0.10.+就好啦~

用Gradle 构建android程序

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

使用Gradle构建Android项目

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

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

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

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

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

gradle构建android项目详解

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

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

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

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

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

gradle构建android项目

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

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

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

随机推荐

如何在Texstudio内加载语法检查词典?

如何在Texstudio编辑软件内加载"语法检查词典"? How to make dictionary work in TexStudio I am using TexStudio ...

关于localstorage的几个测试

1.如果在同一主域名下,localstorage能访问吗? 测试: 在www\index.php 中写入 localstorage 在www\wex5fortp\ui 目录下能否读到?? 结论:可以得 ...

DPDK中断机制简析

DPDK通过在线程中使用epoll模型,监听UIO设备的事件,来模拟操作系统的中断处理. 一.中断初始化 在rte_eal_intr_init()函数中初始化中断.具体如下: 1.首先初始化intr_ ...

The Guide To Understanding mysqlreport

The Guide To Understanding mysqlreport This guide to understanding mysqlreport explains everything t ...

一幅图概括Android测试的方方面面

一幅图概括Android测试的方方面面,来自网络: 另外的一些测试技巧 1,测试应用程序时,环境是很大的一个影响因素:系统时间,网络情况,异常关闭等 2,测试应用程序时,第三方嵌入程序也是有影响的.如 ...

[ArcGIS所需的补丁]ArcGIS 10.2.2 for Desktop联系Oracle(2014年10上个月发布)数据库崩溃

环境的叙述性说明: ArcGIS 10.2.2 for Desktop.Oracle12.1.0.2 RAC 这仅仅是用户当时环境描写叙述.可是导致该问题的解决办法还包含很多其它的环境! 问题描写叙述 ...

LeetCode——Rotate List

Given a list, rotate the list to the right by k places, where k is non-negative. For example: Given  ...

Grafana关键表结构分析

Grafana默认使用SQLite存储数据表,默认数据库文件存储在/var/lib/grafana/grafana.db中,可以将文件拷贝到Widnows中,使用Navicat for SQLite进 ...

Java Persistence/ManyToMany

A ManyToMany relationship in Java is where the source object has an attribute that stores a collecti ...

caffe服务器搭建血泪记录

装过很多次caffe了,但这个还是遇到了很多奇葩问题,不过以前都是在ubuntu上,这次是在centos上. 1.import error  _caffe.so: undefined symbol: ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值