Kotlin版本的Gradle全局配置及参考文档

工欲善其事, 必先利其器。

@[TOC]

直接在.gradle文件夹下添加文件init.gradle / init.gradle.kt for kotlin dsl.

如果同时存在init.gradleinit.gradle.kt,则优先按照init.gradle中的配置,除非手动指定初始化脚本--init-script

init.gradle.kts

注:如果和groovy版本的init脚本同时存在,则会优先加载groovy版本的

fun RepositoryHandler.setPluginRepos(){
    maven("http://localhost:8001/repository/maven-plugins/"){
        isAllowInsecureProtocol=true
    }
    maven("https://maven.aliyun.com/repository/gradle-plugin")
    gradlePluginPortal()
}
fun RepositoryHandler.setDependenceRepos(){
    maven("http://localhost:8001/repository/maven-public/"){
        isAllowInsecureProtocol=true
    }
    maven("https://maven.aliyun.com/repository/public")
    maven("https://maven.aliyun.com/repository/central")
    maven("https://maven.aliyun.com/repository/jcenter")
    maven("https://maven.aliyun.com/repository/gradle-plugin")
    mavenCentral()
    mavenLocal()
    google()
}
settingsEvaluated {
    pluginManagement {
        repositories {
            setPluginRepos()
        }
    }
    dependencyResolutionManagement {
        repositories{
            setDependenceRepos()
        }
    }
}

Groovy版本的init.gradle

allprojects {
    buildscript{
        repositories {
            maven { name 'aliyunCentral' ; url 'https://maven.aliyun.com/repository/central' }
            maven { name 'aliyunJcenter' ; url 'https://maven.aliyun.com/repository/jcenter' }
            maven { name 'aliyunGoogle' ; url 'https://maven.aliyun.com/repository/google' }
            maven { name 'aliyunPlugin' ; url 'https://maven.aliyun.com/repository/gradle-plugin' }
            mavenCentral()
            mavenLocal()
            google()
        }
    }
    repositories {
        maven { name 'aliyunCentral' ; url 'https://maven.aliyun.com/repository/central' }
        maven { name 'aliyunJcenter' ; url 'https://maven.aliyun.com/repository/jcenter' }
        maven { name 'aliyunGoogle' ; url 'https://maven.aliyun.com/repository/google' }
        maven { name 'aliyunPlugin' ; url 'https://maven.aliyun.com/repository/gradle-plugin' }
        google()
        mavenLocal()
    }
}

其他有用的

settings.gradle.kts

pluginManagement {
    repositories {
        maven("http://localhost:8001/maven-public"){
            isAllowInsecureProtocol=true
        }
        maven("https://maven.aliyun.com/repository/public")
        maven("https://maven.aliyun.com/repository/central")
        maven("https://maven.aliyun.com/repository/jcenter")
        maven("https://maven.aliyun.com/repository/gradle-plugin")
        google()
        mavenLocal()
        mavenCentral()
        gradlePluginPortal()
    }
}

dependencyResolutionManagement {
    repositories{
        maven("http://localhost:8001/maven-public"){
            isAllowInsecureProtocol=true
        }
        maven("https://maven.aliyun.com/repository/public")
        maven("https://maven.aliyun.com/repository/central")
        maven("https://maven.aliyun.com/repository/jcenter")
        maven("https://maven.aliyun.com/repository/gradle-plugin")
        google()
        mavenLocal()
        mavenCentral()
    }
}

kotlin 与 compose 版本对应关系

https://developer.android.google.cn/jetpack/androidx/releases/compose-kotlin

agp 与 gradle 版本对应关系

https://developer.android.google.cn/build/releases/gradle-plugin

gradle下载器

本文的国内源全局配置结合gradle下载器,让你的gradle项目编译更加丝滑

ComposeForDesktop之gradle下载器

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容