Gradle 编译学习笔录

  • Gradle下载与配置

下载路径: http://www.gradle.org/downloads 

配置: 下载完gradle后, 解压缩到你的目录盘, 然后打开gradle的bin目录并将其路径复制, 打开环境变量, 将复制的内容加到Path中。

            配置完毕后,可以打开cmd命令工具, 运行gradle –version 如果出现正确的版本号 那么将配置成功 !

  • Gradle简单命令介绍 

build 编译命令: 使用cmd命令进入到项目目录下, 然后运行gradle build . 编译成功后可以在build/目下下查看文件

clean 命令: gradle clean 可以清除上一次build后的文件。

check 命令:gradle check 可以使编译用上类似checkstyle文件对项目进行检查。 

  • build.gradle 代码详细介绍

隐藏行号 复制代码 build.gradle
  1. buildscript {
    
  2.     ##### 大意就是支持java 依赖库管理(maven/ivy),用于项目的依赖。这也是gradle 强力的地方。。。
    
  3.     ## How does Gradle find the files for external dependencies? Gradle looks for them in a repository. 
    
  4.     ## A repository is really just a collection of files, organized by group, name and version.
    
  5.     ## Gradle understands several different repository formats, such as Maven and Ivy, 
    
  6.     ## and several different ways of accessing the repository, such as using the local file system or HTTP.
    
  7.     repositories {
    
  8.         #### 至少声明一个类型, 如果不用maven的话, 默认的就是这个了。 ####
    
  9.         mavenCentral()
    
  10.         
    
  11.         ## a remote Maven repository ##
    
  12.         maven{
    
  13.             url "http://host:port/nexus/content/groups/public"
    
  14.         }
    
  15.         
    
  16.     }
    
  17.     ### 依赖什么版本的Gradle编译工具 ###
    
  18.     dependencies {
    
  19.         classpath 'com.android.tools.build:gradle:0.9.2'
    
  20.     }
    
  21. }
    
  22. #### 编译项目类型 ####
    
  23. apply plugin: 'android'
    
  24. 
    
  25. ### 编译第三方包 ###
    
  26. dependencies {
    
  27.     # 编译所有libs下的第三方包 #
    
  28.     compile fileTree(dir: 'libs', include: '*.jar')
    
  29.     # 编译一个Lib包 #
    
  30.     compile files("libsandroid-support-v4.jar");
    
  31. }
    
  32. ### 配置项 ###
    
  33. android {
    
  34.     
    
  35.     compileSdkVersion 19
    
  36.     buildToolsVersion "19"
    
  37.     
    
  38.     defaultConfig {
    
  39.         minSdkVersion 14
    
  40.         targetSdkVersion 19
    
  41.     }
    
  42.     #### 配置release版本的签名项目以及代码混淆 ####
    
  43.     signingConfigs {
    
  44.         myConfig{
    
  45.             storeFile file("gradle.keystore")
    
  46.             storePassword "gradle"
    
  47.             keyAlias "gradle"
    
  48.             keyPassword "gradle"
    
  49.             ###  配置使用代码混淆  ###
    
  50.             runProguard true
    
  51.             proguardFile 'proguard-android.txt'
    
  52.         }
    
  53.     }
    
  54.     #### 编译版本 (release和debug版本) ####
    
  55.     buildTypes{
    
  56.         release {
    
  57.             signingConfig  signingConfigs.myConfig
    
  58.         }
    
  59.         
    
  60.         debug {
    
  61.             packageNameSuffix ".debug"
    
  62.         }
    
  63.     }
    
  64.     #### 配置多渠道  (playstore 与 hiapk) 改变不同渠道的包名 ####
    
  65.     productFlavors {
    
  66.         playstore {
    
  67.             packageName='com.youxiachai.androidgradle.playstore'
    
  68.         }
    
  69.         hiapk {
    
  70.             packageName='com.youxiachai.androidgradle.amazonappstore'
    
  71.         }
    
  72.     }
    
  73.     
    
  74.     sourceSets {
    
  75.         main {
    
  76.             manifest.srcFile 'AndroidManifest.xml'
    
  77.             java.srcDirs = ['src']
    
  78.             resources.srcDirs = ['src']
    
  79.             aidl.srcDirs = ['src']
    
  80.             renderscript.srcDirs = ['src']
    
  81.             res.srcDirs = ['res']
    
  82.             assets.srcDirs = ['assets']
    
  83.             jniLibs.srcDirs = ['libs']
    
  84.         }
    
  85.         ### 不同渠道可以应用不同的文件 ###
    
  86.         hiapk {
    
  87.                manifest.srcFile 'hiapk/AndroidManifest.xml'
    
  88.            }
    
  89.            
    
  90.            playstore {
    
  91.                manifest.srcFile 'hiapk/AndroidManifest.xml'
    
  92.            }
    
  93.     
    
  94.         ### 配置android测试 ###
    
  95.         instrumentTest.setRoot('tests')
    
  96.     }
    
  97.     ### 使用lint检测 ###
    
  98.     lintOptions {
    
  99.         abortOnError false
    
  100.     }
    
  101. }
    

2. http://www.cnblogs.com/youxilua/archive/2013/05/20/3087935.html 

3. https://github.com/Goddchen/Android-Gradle-Examples

Maven 使用:

  • 参考资料

地址: http://jingyan.baidu.com/article/60ccbceb01de4d64cbb19756.html

  •  

Nexus 搭建私服:

  • 参考资料:

地址: http://www.blogjava.net/ldwblog/archive/2013/11/19/406529.html

  • 版本选择:

JDK6 选择nexus 2.6一下版本, 否则启动不了。 nexus2.6以上版本需要JDK7

花钱月下
原文地址:https://www.cnblogs.com/meimuan/p/3907534.html