Android Studio之Gradle

  自从13年Google I/O大会上推出了Android Studio,我就逐步将开发工作从Eclipse转向了Android
Studio,也越来越嫌弃老态龙钟的Eclipse。相比较而言,Android
Studio无论从运行速度上还是对于Android开发的支撑上都完爆Eclipse;前者极具科技感的UI更是牢牢抓住了我的心!:)

话不多说,先上张碉堡了的截图:

Android
Studio默认采用Gradle编译项目;Gradle基于Groovy语言,Groovy是一种运行于JVM的动态语言,语法与Java类似,并且可以在Groovy项目中引用Java代码;这使得Java程序员可以很容易的定制Gradle编译逻辑。

我们先看看Gradle的文件结构:

整个Project(AndroidStudioSample)的settings.gradle:

1 include ‘:app‘,
‘:library‘

整个Project(AndroidStudioSample)的build.gradle:


// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath ‘com.android.tools.build:gradle:0.10.+‘

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

allprojects {
repositories {
mavenCentral()
}
}

主moudle(app)的build.gradle


 1 apply plugin: ‘android‘
2
3 android {
4 compileSdkVersion 19
5 buildToolsVersion "19.1.0"
6
7 defaultConfig {
8 packageName "com.baron.android.app"
9 minSdkVersion 9
10 targetSdkVersion 19
11 versionCode 1
12 versionName "1.0"
13 }
14 buildTypes {
15 release {
16 runProguard false
17 proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
18 }
19 }
20 }
21
22 dependencies {
23 compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
24 compile ‘com.android.support:appcompat-v7:19.1.0‘
25 compile ‘com.android.support:support-v4:19.1.0‘
26 compile ‘com.android.support:appcompat-v7:19.1.0‘
27 compile ‘com.android.support:support-v4:19.1.0‘
28 compile ‘com.android.support:appcompat-v7:19.+‘
29 }

submodule(library)的build.gradle:


apply plugin: ‘android-library‘

android {
compileSdkVersion 19
buildToolsVersion "19.1.0"

defaultConfig {
packageName "com.baron.android.library"
minSdkVersion 8
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
}
}
}

dependencies {
compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
compile ‘com.android.support:appcompat-v7:19.+‘
compile ‘com.android.support:appcompat-v7:19.+‘
}

以上是一个project中基本的settings.gradle和build.gradle文件内。

  settings.gradle文件中的include ‘:app‘,
‘:library‘指明了AndroidStudioSample这个Project包含了app和library两个module;

  build.gradle主要分为四部分:apply
plugin、buildscript、android和dependencies;

  1、apply plugin指明了使用的插件,apply
plugin:"android"表示这是一个android项目,apply plugin:"android-library"表明了这是一个Android
Lib项目;

  2、buildscript{...}这一块的内容定义了编译环境,比如依赖的gradle版本等;

  3、android{...}这部分定义了项目参数,比如包名、版本号、SDK版本、buildTypes、signingConfigs、productFlavors等等;

  4、dependencies{...}定义了依赖。

先说说dependencies,我们常见的依赖主要有三种:


1 dependencies {
2 compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])//本地jar包依赖
3 compile ‘com.android.support:appcompat-v7:19.1.0‘//从Maven仓库获取的依赖包,下同
4 compile ‘com.android.support:support-v4:19.1.0‘
5 compile ‘com.android.support:appcompat-v7:19.1.0‘
6 compile ‘com.android.support:support-v4:19.1.0‘
7 compile ‘com.android.support:appcompat-v7:19.+‘
8 compile project(‘:library‘)//对其他Lib项目的依赖,比如我们这个项目中的module library
9 }

好了,今天先写到这,后面再继续  :)

Android Studio之Gradle,布布扣,bubuko.com

时间: 2024-10-18 20:41:34

Android Studio之Gradle的相关文章

【Android Studio】Gradle DSL method not found:'android()'

如图所示: 参考:http://www.jianshu.com/p/d370d41fb7da 又遇到了这个问题: 参考:http://stackoverflow.com/questions/24204436/error1-0-plugin-with-id-android-not-found 然后是这个问题: 我也是醉了…… [Android Studio]Gradle DSL method not found:'android()'

android studio 更新 Gradle错误解决方法(Gradle sync failed)

android studio 更新 Gradle错误解决方法 Android Studio每次更新版本都会更新Gradle这个插件,但由于长城的问题每次更新都是失败,又是停止在Refreshing Gradle Project ,有时新建项目的时候报 Gradle Project Compile Error 等等相关的问题 解决这些问题办法是 首先打开android studio项目 找到项目目录gradle\wrapper\gradle-wrapper.properties这个文件 内容如下

Android Studio之Gradle多渠道打包

Android Studio之Gradle多渠道打包 由于国内Android市场众多渠道,为了统计每个渠道的下载及其它数据统计,就需要我们针对每个渠道单独打包,如果让你打几十个市场的包岂不烦死了,不过有了Gradle,这事就简单了. 友盟多渠道打包 废话不多说,以友盟统计为例,在AndroidManifest.xml里面会有这么一段: <meta-data android:name="UMENG_CHANNEL" android:value="Channel_ID&qu

Android 项目利用 Android Studio 和 Gradle 打包多版本APK

在项目开发过程中,经常会有需要打包不同版本的 APK 的需求. 比如 debug版,release版,dev版等等. 有时候不同的版本中使用到的不同的服务端api域名也不相同. 比如 debug_api.com,release_api.com,dev_api.com等等. 不同的版本对应了不同的 api 域名,还可能对应不同的 icon 等. 如果每次都在打包前修改我们都手动来修改,这样实在是不够方便. 但如果我们使用了 Android Studio 和 Gradle,这个麻烦就可以轻松省去.

在Android studio中用gradle打 jar 包(Mac下)

这两天公司要重构项目,以前的项目在eclipse上,准备迁移到Android studio上,需要对项目打包,于是我学习了Android studio中gradle打包的内容.我在公司用的Mac,在家用的Windows,两种平台下,打包基本一样的,这里主要说下在Mac系统下的过程. 在Andorid studio中的Terminal用的是Mac的终端,所以要使用Terminal的gradle命令打包,先要配置下mac中的gradle环境,打开mac上的终端: (1) 输入命令:open .bas

Android Studio:Gradle DSL method not found: &#39;runProguard()&#39;

Android Studio发布了新的1.0版,更新之后却发现原来在0.8下面正常的项目编译失败了,从报错上来看是卡在gradle上面. Gradle DSL method not found: 'runProguard()' 找不到 runProguard() 这个方法 最终的原因很让人无语,原来gradle的工程师跟谷歌负责安卓这一块的是一个尿性!!根本就不管上下版本的开发兼容性!! Android Studio 1.0 默认采用了新版本的gradle,升级时,也会自动的将项目下的build

Android studio: Gradle DSL method found: &#39;android()&#39;!及Gradle DSL method not found: &#39;runProguard()&#39;错误

Gradle DSL method not found: 'runProguard()'错误 出现这个错误是因为在新版本的Gradle中runProguard()方法已经被废弃,取而代之的是minifyEnabled,因此只要将每个module下的build.gradlew文件中的runProguard改成minifyEmabled即可.如下图: Gradle DSL method found: 'android()'错误 和上个错误一样这个也是因为在新版本的Gradle中android()方法

android studio 使用gradle 导出jar包,并打包assets目录

最近项目在做一个sdk,供别的开发者使用,所以要求导出jar包. 与eclipse不同,android studio 1.0 没提供导出jar包的图形界面.需要结合gradle来生成jar包. 首先 需要设置module应用的gradle插件为 library 代码长这样: ? 1 <code class="hljs">apply plugin: 'com.android.library'</code> 这样,build的时候,android studio 1.

Android Studio 出现 Gradle&#39;s dependency cache may be corrupt 解决方案

将 .\项目地址\gradle\wrapper\gradle-wrapper.properties 文件中的 gradle版本 与 正常的版本 修改一致即可. Android Studio 出现 Gradle's dependency cache may be corrupt 解决方案