当前位置:   article > 正文

Android Studio之基本Gradle使用_android studio的gradle怎么使用

android studio的gradle怎么使用

Android Studio的一大特色就是自动构建工具gradle的使用。

1.配置Gradle环境变量

下载最新Gradle整包

下载地址:http://www.androiddevtools.cn/index.html 
配置Gradle的环境变量

  • 新建GRADLE_HOME目录:

    打开系统->高级系统设置,在弹出的菜单中选择系统变量,点击新建,输入Gradle名称以及目录地址。 
    这里写图片描述

  • 将GRADLE_HOME目录加入系统Path中:

    在系统变量中找到Path目录,点击编辑,在弹出的菜单中选择新建,然后在文本框中输入“%GRADLE_HOME%\bin”; 
    这里写图片描述

    如果习惯与win7等传统模式,可以点击编辑文本按钮 
    这里写图片描述

    在弹出的文本编辑框中输入“;%GRADLE_HOME%\bin”,记住前面一定要有一个英文状态的“;”。 
    这里写图片描述

    如果配置成功后,在文件搜索中可以输入%GRADLE_HOME%,如果能够正常跳转到指定的gradle目录,或者在CMD中输入dir %GRADLE_HOME%列出gradle目录的结构,则配置成功。 
    这里写图片描述

2.查看Gradle版本

打开Android Studio内置的终端

点击左下角的“Terminal”图标: 
这里写图片描述

然后出现如下的终端窗口: 
这里写图片描述

输入“gradlew -v”命令查看gradle版本

在终端命令中输入“gradlew -v”命令查看当前的gradle版本信息;如果 
是第一次运行这个命令,系统会帮我们下载gradle到本地(此处需要翻墙,香港的服务器快些)

在Android Studio的终端中输入gradlew -v 
这里写图片描述

下载成功后可以看到保存到了本地目录 
这里写图片描述

再次输入“gradlew -v ”则出现当前的gradle版本 
这里写图片描述

3.常用Gradlew命令

Gradlew命令的意义

Gradlew命令实际上就是执行的gradle-wrapper.properties中最后一行指定的路径下的环境变量地址; 
否则不同的项目可能有不同的环境变量路径,如果使用gradle命令则需要频繁的修改系统环境变量地址; 
而gradlew命令表示当前项目下的环境变量地址。 
这里写图片描述 
Gradlew -v

./gradlew -v 检查当前gradlew版本

在Android Studio的终端中输入gradlew -v 
这里写图片描述 
可以看到当前gradle版本为2.12。 

Gradlew clean

./gradlew clean 清除项目目录下的build文件夹及依赖

在Android Studio的终端中输入gradlew clean 
这里写图片描述

输入上诉命令后,可以看到工程目录没有了build文件夹了 
这里写图片描述 

Gradlew build

./gradlew build 检查依赖并编译打包

在Android Studio的终端中输入gradlew build,此命令把debug/release环境包都打出来,可以查看build->outputs->apk 
这里写图片描述

如果在编译的过程中出现如下错误,可以在错误报告指向的地址中查看详细的错误信息;红色部分指明了错误的类型;在最下面提供了解决办法。 
这里写图片描述 

Gradlew assemble

./gradlew assembleDebug 编译并打Debug包

在Android Studio的终端中输入gradlew assembleDebug 
这里写图片描述 
可以查看build->outputs->apk多了xx-debug.apk和xx-debug-unaligned.apk。

./gradlew assembleRelease 编译并打Release包

在Android Studio的终端中输入gradlew assembleRelease 
这里写图片描述 
可以查看build->outputs->apk多了xx-release-unaligned.apk,如果正式发布只需要打Release的包,则需要上诉assembleRelease命令。 

除此之外

assemble还可以和productFlavors结合使用,具体在下一篇多渠道打包进一步解释。 
• ./gradlew installRelease Release模式打包并安装 
• ./gradlew uninstallRelease 卸载Release模式包 
下一篇来介绍用Gradle进行方便的多渠道打包,以及项目中完整的Gradle配置。有问题或建议欢迎大家直接博客留言。

4.命令方式签名

打开Project Stucture图形化界面,选中项目名称,再选择右边Signing项中的”+” 
这里写图片描述

将右侧的config改名为release和debug并填写签名信息,点击下面OK 
这里写图片描述

然后分别在release/debug栏选择对应的签名配置信息(上面所填) 
这里写图片描述

点击OK后这个module的build.gradle文件多出了如下签名信息 
这里写图片描述

点击clean project 
这里写图片描述 
输入gradlew assembleReleas生成以上配置后的签名apk,可以在build->outputs->apk中查看。

5.BuildConfig文件

自动生成的buildConfig

buildConfig是IDE自动生成的一个类,在eclipse中即存放在gen目录下(如R文件);而在Android Studio中,BuildConfig文件存放的位置是:app/build/generated/source/buildconfig/dubug//BuildConfig.java中。

主要是指定该项目的名称、版本信息等,如下图所示: 
这里写图片描述

module中的build.gradle

指定应用程序的module为该module

apply plugin: 'com.android.application'
 
 
  • 1
  • 1

指定打包时排除重复多余的文件

  1. /** 打包选项 */
  2. packagingOptions {
  3. exclude “…”
  4. }
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

指定编译的版本配置信息等

  1. /** 默认配置信息 */
  2. defaultConfig {
  3. applicationId "com.xx.xx.xx "
  4. minSdkVersion 16 // 清单文件中不需要再次配置
  5. targetSdkVersion 23
  6. versionCode 20160523
  7. versionName "1.01.14"
  8. multiDexEnabled true // dex突破65535的限制
  9. }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

指定在构建时忽略错误信息

  1. /** 执行lint检查 */
  2. lintOptions {
  3. abortOnError false
  4. }
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

指定命令方式签名的签名信息

  1. /** 设置签名路径 */
  2. signingConfigs {
  3. debug {
  4. keyAlias 'key..'
  5. keyPassword 'password..'
  6. storeFile file('E:/ADS/keystore.jks')
  7. storePassword ' password..'
  8. }
  9. release {
  10. keyAlias 'key..'
  11. keyPassword ' password..'
  12. storeFile file('E:/ADS/keystore.jks')
  13. storePassword ' password..'}
  14. }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

指定编译规则等

  1. /** 编译生成类型 */
  2. buildTypes {
  3. release {
  4. buildConfigField "boolean", "LOG_DEBUG", "false"//不Log
  5. minifyEnabled true // 混淆
  6. zipAlignEnabled true // Zipalign优化
  7. shrinkResources true // 移除无用的resource文件
  8. // 加载默认混淆配置文件 progudard-android.txt在sdk目录里面,不用管,proguard.cfg是我们自己配<span></span>的混淆文件
  9. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg'
  10. signingConfig signingConfigs.release // 签名
  11. }
  12. }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

6.gradle导入第三方包

导入方法

首先删除libs下的离线gson-2.6.2包

点击项目的依赖“Dependencies”设置界面中的“+” 
这里写图片描述

在弹出的界面中输入gson,然后点击右边的搜索图标,在搜索结果中选中 
这里写图片描述

点击OK后,可以在build.gradle中看到依赖中多了一行 
这里写图片描述 
此时gson库已经不在libs下,而在External Libraries下。 

导入优缺点

相比libs下的导包,gradle导入jar包更方便,一行代码即可搞定。不需 
要下载离线安装包,并且如果官方jar包更新了,我们只需要在build.gradle中改一下版本号就行了,不用重新去官网下载。

但是gradle导入需要翻墙。 

导入从哪里来

在build.gradle文件的开头就有jcenter():

  1. buildscript {
  2. repositories {
  3. // 所有通过gradle导入的jar包都是从http://bintray.com/bintray/jcenter这个中央仓库上扒下来的
  4. jcenter()
  5. }
  6. dependencies {
  7. classpath 'com.android.tools.build:gradle:2.1.0'
  8. }
  9. }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

如果你需要的jar包在这个网站上没有,那就无法通过gradle的方式来导入。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/907391
推荐阅读
相关标签
  

闽ICP备14008679号