zoukankan      html  css  js  c++  java
  • Gradle

    • Win平台会默认下载到 C:Documents and Settings<用户名>.gradlewrapperdists 目录

    • 模块/build.gradle
    //声明是Android 程序
    apply plugin: 'com.android.application'
    
    //配置了用于 android 构建的所有参数。这是Android DSL的入口。
    //默认情况下,只需要配置编译目标,以及build-tools的版本。
    //它通过compileSdkVersion和buildtoolsVersion属性来完成。
    //提示:你应该只配置使用这个android插件。如果同时配置使用了java插件也会导致构建错误。
    android {
        //编译SDK的版本
        compileSdkVersion 19
        //build tools 的版本
        // 构建工具的版本,其中包括了打包工具aapt、dx等等。
        // 这个工具的目录位于..sdk_path/build-tools/XX.XX.XX
        buildToolsVersion "19.1.0"
    
        //在android元素的内部的defaultConfig元素是定义所有这些配置的地方。
        defaultConfig {
            // 应用的包名
            applicationId "com.example.lidecheng.myapplication"
            minSdkVersion 14
            targetSdkVersion 19
            versionCode 1
            versionName "1.0"
        }
    
        // java版本
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7
        }
    
        buildTypes {
            release {
                // 是否进行混淆
                minifyEnabled false
                // 混淆文件的位置
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    
    
        // 移除lint检查的error
        lintOptions {
            abortOnError false
        }
    }
    
    dependencies {
        //编译libs目录下的所有jar包
        compile fileTree(dir: 'libs', include: ['*.jar'])
        testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:19.+'
    }
    
    // 这个文件是app文件夹下这个Module的gradle配置文件,也可以算是整个项目最主要的gradle配置文件
    • 项目/build.gradle
    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    //整个项目的gradle基础配置文件
    //buildscript { ... }配置了驱动构建的代码。
    // 声明了使用jcenter 中央库,并且对一个Maven 文件有一个类路径依赖。
    // 这个文件是包含 Gradle Android 插件的 1.5.0版本的库
    buildscript {
        repositories {
            jcenter()
        }
    
        dependencies {
            //声明了android gradle plugin的版本
            classpath 'com.android.tools.build:gradle:1.5.0'
    
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    
    allprojects {
        repositories {
            jcenter()
        }
    }
    
    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    
    // 内容主要包含了两个方面:一个是声明仓库的源,这里可以看到是指明的jcenter(), 之前版本则是mavenCentral(), jcenter可以理解成是一个新的中央远程仓库,兼容maven中心仓库,而且性能更优。另一个是声明了android gradle plugin的版本,android studio 1.0正式版必须要求支持gradle plugin 1.0的版本。
    • settings.gradle
    //全局的项目配置文件
    include ':app'
    • gradle-wrapper.properties
    #声明了gradle的目录与下载路径以及当前项目使用的gradle版本,
    #这些默认的路径我们一般不会更改的,这个文件里指明的gradle版本不对也是很多导包不成功的原因之一。
    
    distributionBase=GRADLE_USER_HOME
    distributionPath=wrapper/dists
    zipStoreBase=GRADLE_USER_HOME
    zipStorePath=wrapper/dists
    distributionUrl=https://services.gradle.org/distributions/gradle-2.8-all.zip
    
    • local.properties
    ## This file is automatically generated by Android Studio.
    # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
    //通过sdk.dir属性来设置 SDK 的位置,并且所设置的这个SDK要求存在。 
    //或者,您也可以设置一个ANDROID_HOME环境变量。这两种方法之间没什么差别
    ndk.dir=/Users/lidecheng/Documents/android/android-sdk-macosx-2/ndk-bundle
    sdk.dir=/Users/lidecheng/Documents/android/android-sdk-macosx-2
    

    android DSL

    –领域特定语言(domain-specific languages,简称DSL)
    http://google.github.io/android-gradle-dsl/current/index.html

    • defaultConfig{} 默认配置,是ProductFlavor类型。它共享给其他ProductFlavor使用

    • sourceSets{ } 源文件目录设置,是AndroidSourceSet类型。

    • buildTypes{ } BuildType类型

    • signingConfigs{ } 签名配置,SigningConfig类型

    • productFlavors{ } 产品风格配置,ProductFlavor类型

    • testOptions{ } 测试配置,TestOptions类型

    • aaptOptions{ } aapt配置,AaptOptions类型

    • lintOptions{ } lint配置,LintOptions类型

    • dexOptions{ } dex配置,DexOptions类型

    • compileOptions{ } 编译配置,CompileOptions类型

    • packagingOptions{ } PackagingOptions类型

    • jacoco{ } JacocoExtension类型。 用于设定 jacoco版本

    • splits{ } Splits类型。

      android { … }配置了用于 android 构建的所有参数。这是Android DSL的入口。

    默认情况下,只需要配置编译目标,以及build-tools的版本。它通过compileSdkVersion和buildtoolsVersion属性来完成。

    重要提示:你应该只配置使用这个android插件。如果同时配置使用了java插件也会导致构建错误。

  • 相关阅读:
    UEFI和GPT
    EFI/UEFI BIOS 入门
    UEFI+GPT模式下的Windows系统中分区结构和默认分区大小及硬盘整数分区研究
    UEFI和Legacy及UEFI+Legacy启动的区别
    UEFI与MBR区别
    UI基础字典转模型
    UI基础九宫格
    UI基础UIView常见属性及方法
    UI基础控件UIButton
    OC中NSFileManager类 和 copy一些用法
  • 原文地址:https://www.cnblogs.com/dubo-/p/6738445.html
Copyright © 2011-2022 走看看