Kotlin版本的Gradle全局配置init.gradle.kts及参考文档

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

文章目录

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

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

init.gradle.kts

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

kotlin 复制代码
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

groovy 复制代码
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

kotlin 复制代码
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下载器

相关推荐
木易 士心18 小时前
Android 开发核心知识体系与面试指南精简版
android·面试·职场和发展
一棵树735119 小时前
Android OpenGL ES初窥
android·大数据·elasticsearch
初级代码游戏19 小时前
MAUI劝退:安卓实体机测试
android
奔跑中的蜗牛66620 小时前
直播APP跨平台架构实践(二):KMP UI 与 Rust 下载引擎协作实践
android
沐怡旸20 小时前
【底层机制】【Android】AIDL原理与实现机制详解
android·面试
小仙女喂得猪20 小时前
2025 跨平台方案KMP,Flutter,RN之间的一些对比
android·前端·kotlin
2501_9151063221 小时前
iOS 混淆与 IPA 加固全流程,多工具组合实现无源码混淆、源码防护与可审计流水线(iOS 混淆|IPA 加固|无源码加固|App 防反编译)
android·ios·小程序·https·uni-app·iphone·webview
游戏开发爱好者821 小时前
用多工具组合把 iOS 混淆做成可复用的工程能力(iOS混淆 IPA加固 无源码混淆 Ipa Guard)
android·ios·小程序·https·uni-app·iphone·webview
尤老师FPGA21 小时前
LVDS系列32:Xilinx 7系 ADC LVDS接口参考设计(三)
android·java·ui
onthewaying1 天前
OpenGL ES 着色器(Shader)详解
android·opengl