`
JerryWang_SAP
  • 浏览: 1042417 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

build.gradle里repositories的mavenCentral实现原理解析

阅读更多

如果把build.gradle里的mavenCentral改成mavenCentral2会发生什么事?

 

 

错误消息:Could not find method mavenCentral2() for arguments [] on repository container of type org.gradle.api.internal.artifacts.dsl.DefaultRepositoryHandler.

这个DefaultRepositoryHandler,到Gradle目录下搜索,找到了对应的Java文件:

 

 

DEFAULT_MAVEN_CENTRAL_REPO_NAME常量的定义在下列文件里:

 

 

DefaultBaseRepositoryFactory的createMavenCentralRepository方法内,创建Maven仓库,url为Repository.MAVEN_CENTRAL_URL:

 

 

这个常量定义在文件ArtifactRepositoryContainer.java里:

 

 

String MAVEN_CENTRAL_URL = "repo.maven.apache.org/m";

浏览器里可以打开这个url,里面存放着各种开发库:

 

 

因此build.gradle里下列这段配置信息,意思是告诉Gradle从Maven中央仓库获取工具库的内容,即url repo.maven.apache.org/m

 

 

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

0
0
分享到:
评论

相关推荐

    dexcount-gradle-plugin,一个gradle插件,用于报告每个构建的apk中方法引用的数量。.zip

    mavenCentral() } dependencies { classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.9.2' // 按照最新版本替换 } } ``` 然后,在模块级别的build.gradle文件中,应用插件并配置输出选项,比如在...

    gradle_mutil:gradle mutil项目

    本篇文章将深入探讨如何使用Gradle进行多工程项目的配置,以`gradle_mutil`为例,我们将解析其背后的配置逻辑与实现方式。 一、Gradle简介 Gradle是一种基于Groovy的构建自动化工具,它允许开发者以声明式的方式...

    version-checker-gradle-lint:即使使用Kotlin-DSL插件,也有新版本的警告

    mavenCentral() } } // build.gradle.kts plugins { id("com.example.version-checker-gradle-lint") version "x.y.z" // 替换为实际版本号 } ``` 在`version-checker-gradle-lint`的源代码包`version-checker-...

    jcr.exo-1.0.0-beta4.zip

    本插件的工作原理是:在Gradle构建过程中,它会扫描项目的build.gradle文件,查找指定的本地依赖项。这些依赖通常以如下形式声明: ```groovy dependencies { implementation 'com.example:library:1.0.0' ndk '...

    Android项目源码

    7. **Maven仓库(Maven Repositories)**:在`build.gradle`文件中,开发者会指定依赖项的来源,通常是JCenter或Maven Central等远程仓库。 8. **Gradle-wrapper.properties**:这个文件定义了Gradle的版本信息,...

    gradle_sample_project:gradle 项目的示例模板

    mavenCentral() } dependencies { compile 'org.apache.commons:commons-lang3:3.9' } ``` 这段脚本指定了 `java` 插件,设置了项目的基本信息(组ID和版本号),定义了仓库(用于下载依赖)以及声明了一个...

    Android-Calces一个Android组件化自动构建脚本

    // 添加仓库地址,例如JCenter或MavenCentral } dependencies { classpath 'com.example.calces:calces-gradle-plugin:x.y.z' // 替换为实际的版本号 } } ``` 接下来,在各个组件的build.gradle文件中,应用...

    library_SlidingMenu的基本使用Demo

    mavenCentral() } dependencies { implementation 'com.slidingmenu.lib:slidingmenu:1.0.0' } ``` 然后,同步项目并导入所需的库。 3. **创建SlidingMenu** 在Activity中,你可以使用以下代码初始化...

    lottie版本库

    mavenCentral() } dependencies { implementation 'com.airbnb.android:lottie:1.0.3' } ``` 然后在 XML 布局文件中添加 `LottieAnimationView`,或者在代码中实例化并加载 JSON 文件。 3. **使用Lottie**:...

    二维码扫描Demo

    mavenCentral() } dependencies { implementation 'com.google.zxing:core:3.4.1' implementation 'com.journeyapps:zxing-android-embedded:3.6.0' } ``` 2. **创建扫描界面**:创建一个Activity或...

Global site tag (gtag.js) - Google Analytics