【错误记录】Android Studio 创建 Module 模块报错 ( Cannot resolve external dependency org.jetbrains.kotlin:kotl )

2023-08-29 16:40:30


目前使用的是 最新的 Gradle 配置 , 创建 Module 生成的源码与 Gradle 配置出现了冲突 , 导致的问题 ;

解决此类问题 , 要仔细检查 Gradle 构建脚本 , 排查每个依赖库的来源 ;

本次错误就是 AS 系统自动成的 Module 修改了 Gradle 构建脚本 , 导致依赖下载失败 ;





一、报错信息



在 Android Studio 的 已存在 工程中 , 创建 新的 Module 模块应用 , 在重新编译时报如下错误 ;

之前的应用 编译运行 正常 , 创建了新 Module 模块后 , 出现如下错误 ;

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'Navigation'.
> Could not resolve all files for configuration ':classpath'.
   > Cannot resolve external dependency org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0-RC2 because no repositories are defined.
     Required by:
         project :

* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Exception is:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'Navigation'

在这里插入图片描述





二、解决方案



没有找到依赖 , 基本就是 依赖库 没有配全 , 配置一个 Maven 仓库源齐全的配置 , 一般配置

  • Maven 中央仓库 : mavenCentral() , 重要的依赖库一般都有 ;
  • Google 仓库 : google() , 谷歌的仓库 , 可能会被墙 ;
  • Jcenter 仓库 : jcenter() , 虽然已经停止运营 , 但是之前的库还能下载 ;
  • 阿里云仓库 : 两个 阿里云 的 仓库 , 可以快速下载对应的依赖 ;
        maven {
            url 'https://maven.aliyun.com/repository/public/'
        }
        maven{
            url 'https://maven.aliyun.com/repository/google/'
        }

一般的 Maven 源配置如下 : 使用如下配置 , 很少出现下载依赖库失败的情况 ;

    repositories {
        google()
        mavenCentral()
        jcenter()
        maven {
            url 'https://maven.aliyun.com/repository/public/'
        }
        maven{
            url 'https://maven.aliyun.com/repository/google/'
        }
    }

添加了新的 Maven 源之后 , 还是报错 , 再次检查了下发现 我导入的 Kotlin 插件版本是 org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.20 , 并不是报错中的 org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0-RC2 版本 ;

在这里插入图片描述

检查了所有的 Gradle 构建脚本 , 发现创建 Module 时 , 被 Android Studio 插入了如下配置 :

buildscript {
    dependencies {
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0-RC2'
    }
}

插入了插件配置 , 但是没有给配置 Maven 源 , 这才导致了无法下载该 Kotlin 依赖 ;

这里直接将该配置删除即可 , 不能同时配置两个 Kotlin 依赖 ;
在这里插入图片描述

如果 不删除 上述插件配置 , 给 该 buildscript 配置添加 repositories 的 Maven 源 , 是可以编译通过的 ;

buildscript {
    repositories {
        google()
        mavenCentral()
        jcenter()
        maven {
            url 'https://maven.aliyun.com/repository/public/'
        }
        maven{
            url 'https://maven.aliyun.com/repository/google/'
        }
    }
    dependencies {
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0-RC2'
    }
}
更多推荐

面向面试知识--MySQL数据库与索引

面向面试知识–MySQL数据库与索引优化难点与面试点什么是MySQL索引?索引的MySQL官方定义:索引是帮助MySQL快速获取数据的数据结构。动力节点原文:MysQL官方对于索引的定义:索引是帮助MySQL高效获取数据的数据结构。MysQL在存储数据之外,数据库系统中还维护着满足特定查找算法的数据结构,这些数据结构以

HarmonyOS Codelab 优秀样例——溪村小镇(ArkTS)

一、介绍溪村小镇是一款展示溪流背坡村园区风貌的应用,包括园区内的导航功能,小火车行车状态查看,以及各区域的风景展览介绍,主要用于展示HarmonyOS的ArkUI能力和动画效果。具体包括如下功能:打开应用时进入启动页,启动页轮播展示溪村小镇风景图,之后进入应用首页。在首页的“地图浏览”标签页,可以拖动和缩放查看地图,并

Kubernetes Ingress:灵活的集群外部网络访问的利器

《KubernetesIngress:集群外部访问的利器-打造灵活的集群网络》前提条件您已经拥有一个Kubernetes集群,并且可以访问该集群。您已经安装了kubectl命令行工具。版本选择安装前需要选择兼容你Kubernetes的版本,不能会失败ingress由两部分组成:IngressController:负责处

【踩坑日记】springboot MultipartFile上传,@Async异步执行时报错:java,io.FileNotFoundException

项目场景:springboot项目中使用MultipartFile上传文件导入时,文件内容过大会导致页面等待时间较长,所以考虑使用上传文件时用@Async异步处理数据的方式来解决页面等待问题。问题描述给处理MultipartFile文件的方法添加@Async注解后,上传文件时出现异常,找不到临时文件异常如下:(org.

RISC-V Reader 笔记(七)RV64,特权架构,未来可选扩展

RV64比起RV32,其实扩展不多。主要是添加了一系列字,双字为单位的操作。各个ISA3264比较x86:变量都存在寄存器里,不像32存在内存里,因此指令数少很多,但是因此添加了很多新操作码来操作更多的寄存器,因此指令长度变长了(添加前缀来区分),代码体积大很多。arm:有一系列和arm32类似的问题,:分支指令使用的

重庆思庄技术分享——linux du 命令

linuxdu命令inuxdu(英文全拼:diskusage)命令用于显示目录或文件的大小。du会显示指定的目录或文件所占用的磁盘空间。语法du[-abcDhHklmsSx][-L<符号连接>][-X<文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数>][-

Nodejs 第十六章(ffmpeg)

FFmpeg是一个开源的跨平台多媒体处理工具,可以用于处理音频、视频和多媒体流。它提供了一组强大的命令行工具和库,可以进行视频转码、视频剪辑、音频提取、音视频合并、流媒体传输等操作。FFmpeg的主要功能和特性:格式转换:FFmpeg可以将一个媒体文件从一种格式转换为另一种格式,支持几乎所有常见的音频和视频格式,包括M

Linux arm64 pte相关宏

文章目录一、pte和pfn1.1pte_pfn1.2pfn_pte二、其他宏参考资料一、pte和pfn//linux-5.4.18/arch/arm64/include/asm/pgtable.h#definepte_pfn(pte)(__pte_to_phys(pte)>>PAGE_SHIFT)#definepfn_

Zebec 生态 AMA 回顾:Nautilus 以及 $ZBC 的未来

在9月7日,Zebec创始人Sam做客社区,并进行了“NautilusChain以及$ZBC的未来”主题的AMA访谈。Sam在本次访谈中对NautilusChain生态的价值捕获、Zebec生态布局规划、可能会推出的NautilusChain治理通证NAUT进行了解读。本文将对本次AMA进行回顾与总结。主持人:社区新的

java顺序表的基本操作

Java中的顺序表通常可以使用数组来实现。顺序表是一种线性数据结构,它包含一组按照顺序排列的元素。以下是顺序表的基本操作:创建顺序表:int[]array=newint[capacity];//创建一个具有指定容量的整数数组作为顺序表插入元素://在指定位置插入元素voidinsert(int[]array,intin

Polygon L2扩容方案揭秘

1.引言前序博客:Polygon生态以太坊扩容是一个几乎与以太坊本身一样古老的问题。扩容任务的复杂性是以太坊伟大之处的直接结果:以太坊是有活力的协议,其缓慢进化,以确保链的安全性和去中心化。当活动的增加刺激了更大的需求时,使用以太坊可能会变得昂贵得令人望而却步。但以太坊扩容意味着什么?本文将解答:何为Layer2(L2

热文推荐