Gradle

作者: ivotai | 来源:发表于2020-04-06 08:47 被阅读0次

1 Gradle Wrapper

gradlew
gradlew.bat 
gradle/wrapper/gradle-wrapper.jar 
gradle/wrapper/gradle-wrapper.properties

gradle-wrapper.properties。

#Tue Mar 31 16:28:57 CST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

这个 gradlew.bat 就是 Gradle Wrapper。
使用 java 时,需要去官网下载 sdk,选择版本,配置环境变量,最后 java -v。
有了 gradle wrapper 就直接用 gradlew 替代 gradle 就行 ,比如 gradlew -v。

2 settings.gradle

Java 的源文件叫 .java,Gradle 的源文件叫 .gradle。

rootProject.name='My Application'  // 项目名叫啥 
include ':app' // 包含了模块 app

3 build.gradle (Project)

ext {
    var = 'C:\\Users\\ivotai\\AndroidStudioProjects\\MyApplication\\unicorn.jks'
}// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    // 通过 ext 语法给 project 添加属性
    ext {
        kotlin_version = '1.3.71'
        objectboxVersion = '2.5.1'
    }
    repositories {
        google()
        jcenter()
    }
    dependencies {
        // 引入项目所需插件,比如 Android 插件
        classpath 'com.android.tools.build:gradle:3.6.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$rootProject.kotlin_version" // 可以使用 rootProject.
        classpath "io.objectbox:objectbox-gradle-plugin:$project.objectboxVersion" // 也可以使用 project.
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' }
        maven { url "http://maven.aliyun.com/nexus/content/repositories/releases" }
    }
}

4 build.gradle(Module)

// 应用插件
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

// 应用了 Android 插件后才能识别下面的 android {}
android {
    compileSdkVersion 29
    buildToolsVersion "29.0.3"

    defaultConfig {
        applicationId "com.example.myapplication"
        minSdkVersion 16
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
        ndk {
            abiFilters "armeabi-v7a"
        }
    }
    signingConfigs {
        release {
            storeFile file(project.var)
            storePassword "unicorn"
            keyAlias "unicorn"
            keyPassword "unicorn"
            v1SigningEnabled true
            v2SigningEnabled false
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    ...
}

apply plugin: 'io.objectbox'

5 Gradle 窗口

Android Studio 右侧的 Gradle 窗口里罗列了绝大多数可能用到的 Task。
双击 Project 下的 Task 会对所有模块执行,双击特定 Module 下的 Task 只会在该模块下执行。

相关文章

网友评论

      本文标题:Gradle

      本文链接:https://www.haomeiwen.com/subject/jtcvphtx.html