gradle 需要配置的几个地方
grale/wrapper/gradle-wrapper.properties
根据升级版本来
#Fri Oct 09 13:06:33 CST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip
local.properties
sdk,ndk 路径
ndk.dir=xxxx/Android/android_SDK/sdk/ndk/17.2.4988734
sdk.dir=xxxx/Android/android_SDK/sdk
gradle.properties
org.gradle.jvmargs=-Xmx2048m
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
# Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official
gradle 头部plugin配置,两种方式
->apply plugin
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'dagger.hilt.android.plugin'
-> plugins + id和上面是等价
plugins{
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions'
id 'kotlin-kapt'
id 'dagger.hilt.android.plugin'
}
Kotlin ,java8,viewbinding 支持
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures {
viewBinding = true
}
全局配置 sdk 版本属性
ext{
compileSdkVersion=29
buildToolsVersion="29.0.2"
minSdkVersion=21
targetSdkVersion=29
}
-> 项目中引用,rootProject.xxx
android {
compileSdkVersion rootProject.compileSdkVersion
buildToolsVersion rootProject.buildToolsVersion
defaultConfig {
applicationId "top.zcwfeng.activityhookdemo"
minSdkVersion rootProject.minSdkVersion
targetSdkVersion rootProject.targetSdkVersion
versionCode 1
versionName "1.0"
}
......
}
implementation,api
implementation 只能在自己的module中使用
api 穿透,其他moudule也可以使用,引用等
配置本地artifactory 同步之后的配置速查
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
maven{
url 'http://localhost:8081/artifactory/alinyun_maven_group'
}
google()
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:4.0.1"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
maven{
url 'http://localhost:8081/artifactory/alinyun_maven_group'
}
google()
jcenter()
}
}
ext{
compileSdkVersion=29
buildToolsVersion="29.0.2"
minSdkVersion=21
targetSdkVersion=29
androidXVersion="1.2.0"
constraintlayoutVersion="2.0.1"
googleAutoServiceDependency = 'com.google.auto.service:auto-service:1.0-rc7'
extCompileOptions = {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures {
viewBinding = true
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
整理一份编译加速配置,参考速查
需要自己搭建artifactory 关于 artifactory请自行查询使用,很简单研究下就好
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
maven{
url 'http://localhost:8081/artifactory/alinyun_maven_group'
}
maven {
url 'https://maven.aliyun.com/repository/google'
}
maven {
url 'https://maven.aliyun.com/repository/jcenter'
}
maven {
url 'https://maven.aliyun.com/repository/public'
}
google()
jcenter()
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:4.0.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
maven{
url 'http://localhost:8081/artifactory/alinyun_maven_group'
}
maven {
url 'https://maven.aliyun.com/repository/google'
}
maven {
url 'https://maven.aliyun.com/repository/jcenter'
}
maven {
url 'https://maven.aliyun.com/repository/public'
}
google()
jcenter()
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
}
ext{
compileSdkVersion=29
buildToolsVersion="29.0.2"
minSdkVersion=21
targetSdkVersion=29
androidXVersion="1.2.0"
constraintlayoutVersion="2.0.1"
// extCompileOptions = {
// compileOptions {
// sourceCompatibility JavaVersion.VERSION_1_8
// targetCompatibility JavaVersion.VERSION_1_8
// }
// kotlinOptions {
// jvmTarget = '1.8'
// }
// buildFeatures {
// viewBinding = true
// dataBinding = true
// }
// }
}
task clean(type: Delete) {
delete rootProject.buildDir
}
容易忽略的gradle.properties
useAndroidX 老项目升级过程
org.gradle.jvmargs=-Xmx2048m
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
# Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official
网友评论