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 只会在该模块下执行。
网友评论