【错误记录】Android Studio 中最新的 Gradle 配置中设置插件依赖 ( 2023 年 8 月 24 日 | 最新 Gradle 中配置插件依赖的变化 | 增加 Maven 仓库源 )

这篇具有很好参考价值的文章主要介绍了【错误记录】Android Studio 中最新的 Gradle 配置中设置插件依赖 ( 2023 年 8 月 24 日 | 最新 Gradle 中配置插件依赖的变化 | 增加 Maven 仓库源 )。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。





一、最新 Gradle 中配置插件依赖的变化



当前最新的 Android Studio 开发环境 , 生成的 Gradle 配置脚本使用了最新 API , 用起来不太习惯 ;

根目录下的 build.gradle 构建脚本变成了下面的样式 , 单纯的用于配置 Android 应用编译所需插件的 插件 和 版本 ;

// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
    id 'com.android.application' version '7.3.1' apply false
    id 'com.android.library' version '7.3.1' apply false
    id 'org.jetbrains.kotlin.android' version '1.7.20' apply false
}

原来应用中配置插件 , 是在 根目录下的 build.gradle 中的 buildscript / dependencies 中配置编译过程中所需的插件 ;

这种方式目前已经淘汰了 ;

buildscript {
    repositories {
        google()
        mavenCentral()
        jcenter()
        maven {
            url 'https://maven.aliyun.com/repository/public/'
        }
        maven{
            url 'https://maven.aliyun.com/repository/google/'
        }
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.3.1"
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.20'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

这里说明一下插件关系 , 导入了

classpath "com.android.tools.build:gradle:7.3.1"

插件 , 就相当于导入了 最新 Gradle 配置中的

    id 'com.android.application' version '7.3.1' apply false
    id 'com.android.library' version '7.3.1' apply false

这两个插件 , 一个是 Android 应用编译所需的插件 , 一个是 Android 依赖库编译所需的插件 ;


导入的

classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.20'

插件 是 Kotlin 语言插件 , 如果在 开发中使用 Kotlin 进行开发 , 就必须导入该插件 ,

对应最新 Gradle 配置中的

id 'org.jetbrains.kotlin.android' version '1.7.20' apply false

插件 ;





二、报错信息



现在有一个需求 , 就是在 Navigation 组件开发 界面跳转 时 , Bundle 数据传递是类型不安全的 , 这里需要进行 安全数据传递 ,

需要导入

classpath 'androidx.navigation:navigation-safe-args-gradle-plugin:2.3.0-alpha06'

中的

id 'androidx.navigation.safeargs' version '2.3.0-alpha06' apply false

插件 , 前者是下载地址 , 后者是真实导入的 插件名称 和 插件版本号 ;


尝试在根目录中配置 androidx.navigation.safeargs 插件 ,

// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
    id 'com.android.application' version '7.3.1' apply false
    id 'com.android.library' version '7.3.1' apply false
    id 'org.jetbrains.kotlin.android' version '1.7.20' apply false
    id 'androidx.navigation.safeargs' version '2.3.0-alpha06' apply false
}

结果报如下错误 : 提示找不到 2.3.0-alpha06 版本的 androidx.navigation.safeargs 插件 ;

Build file 'D:\002_Project\002_Android_Learn\Navigation\build.gradle' line: 6

Plugin [id: 'androidx.navigation.safeargs', version: '2.3.0-alpha06', apply: false] was not found in any of the following sources:

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

* Exception is:
org.gradle.api.plugins.UnknownPluginException: Plugin [id: 'androidx.navigation.safeargs', version: '2.3.0-alpha06', apply: false] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (could not resolve plugin artifact 'androidx.navigation.safeargs:androidx.navigation.safeargs.gradle.plugin:2.3.0-alpha06')
  Searched in the following repositories:
    Gradle Central Plugin Repository
    Google
    MavenRepo
	at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.resolveToFoundResult(DefaultPluginRequestApplicator.java:243)




三、增加 Maven 仓库源



在 settings.gradle 中的 pluginManagement / repositories 中增加 jcenter 和 阿里云的自定义源 , 这个源配置已经很全了 , 基本上能解决所有的问题 ;

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

使用上述源 , 还是报错 ,

Build file 'D:\002_Project\002_Android_Learn\Navigation\build.gradle' line: 6

Plugin [id: 'androidx.navigation.safeargs', version: '2.3.0-alpha06', apply: false] was not found in any of the following sources:

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

* Exception is:
org.gradle.api.plugins.UnknownPluginException: Plugin [id: 'androidx.navigation.safeargs', version: '2.3.0-alpha06', apply: false] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (could not resolve plugin artifact 'androidx.navigation.safeargs:androidx.navigation.safeargs.gradle.plugin:2.3.0-alpha06')
  Searched in the following repositories:
    Gradle Central Plugin Repository
    Google
    MavenRepo
    BintrayJCenter
    maven(https://maven.aliyun.com/repository/public/)
    maven2(https://maven.aliyun.com/repository/google/)
	at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.resolveToFoundResult(DefaultPluginRequestApplicator.java:243)

gradlepluginportal(),错误记录,android studio,maven,android,gradle,plugins,原力计划





五、使用老版本方式导入插件



使用上述 源 还是无法下载 androidx.navigation.safeargs 插件 , 这里暂时不在这个方面进行尝试了 , 不使用 plugins 新方式导入插件 ;

id 'androidx.navigation.safeargs' version '2.3.0-alpha06' apply false

使用之前的老版本的导入 编译插件 的方法 ;

首先 , 将整个 build.gradle 中 配置 plugins 插件的内容全部注释掉 ;

gradlepluginportal(),错误记录,android studio,maven,android,gradle,plugins,原力计划
然后 , 在 settings.gradle 中添加如下代码 , 这是老版本的方式导入编译时依赖库 ;

buildscript {
    repositories {
        google()
        mavenCentral()
        jcenter()
        maven {
            url 'https://maven.aliyun.com/repository/public/'
        }
        maven{
            url 'https://maven.aliyun.com/repository/google/'
        }
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.3.1"
        classpath 'androidx.navigation:navigation-safe-args-gradle-plugin:2.3.0-alpha06'
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.20'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

上面的 dependencies 中的三个依赖 , 与下面的四个插件是对应的 , com.android.tools.build:gradle:7.3.1 包含着 com.android.applicationcom.android.library 两个插件 ;

plugins {
    id 'com.android.application' version '7.3.1' apply false
    id 'com.android.library' version '7.3.1' apply false
    id 'org.jetbrains.kotlin.android' version '1.7.20' apply false
    id 'androidx.navigation.safeargs' version '2.3.0-alpha06' apply false
}

然后再进行编译 , 即可编译通过 ;

gradlepluginportal(),错误记录,android studio,maven,android,gradle,plugins,原力计划


完整的代码可查看 【Jetpack】Navigation 导航组件 ④ ( Fragment 跳转中使用 safe args 安全传递参数 ) https://hanshuliang.blog.csdn.net/article/details/131406972 中的博客源码快照 ;

这是开发 Navigation 导航组件时遇到的报错问题 ;文章来源地址https://www.toymoban.com/news/detail-732883.html

到了这里,关于【错误记录】Android Studio 中最新的 Gradle 配置中设置插件依赖 ( 2023 年 8 月 24 日 | 最新 Gradle 中配置插件依赖的变化 | 增加 Maven 仓库源 )的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 最新解决Android Studio Gradle同步问题

    你是否还在被“Gradle Download”一直在下载最终导致Read Time out ???  看完我的博客,保证你从此无忧虑!!! 目录 开门见山,放出我的结果  1、打开Android Studio项目点击同步 (非常关键 大前提!!!)  2、手动下载gradle以及配置步骤 2.1 手动下载对应的gradle版本 2.1.1 由于

    2024年02月08日
    浏览(47)
  • Android studio Gradle 插件版本修改

      最近装了预览版的 Android Studio( android-studio-2022.3.1.15 Giraffe ),新建项目后想修改 Gradle 插件版本,在网上搜索到的都是说修改 classpath 但是新建的项目 build.gradle 中内容并不是这样的,如下: 看了官网文档,内容虽然不一样,但是修改 Gradle 版本还是在这里。 Android Gra

    2024年02月11日
    浏览(59)
  • Android Studio 和 Android Gradle 插件的已知问题

    渲染 Compose 预览时出错 从 Android Studio Chipmunk 开始,如果您在问题面板中看到  java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner  或  java.lang.ClassNotFoundException: androidx.savedstate.R$id ,请务必在模块中添加对  androidx.lifecycle:lifecycle-viewmodel-savedstate  的  debugImplementation  依赖项。

    2024年02月12日
    浏览(50)
  • Android Studio 中的 gradle插件版本和gradle 版本号在哪里?

    在Andorid Studio 中,我们常常需要 修改gradle插件和gradle的版本号 ,使之能够对应上。 那哪个是Android Studio的插件版本呢,哪个是插件对应的gradle版本呢? 插件版本是在 最外层的build.gradle 中修改,如下所示: 而插件版本所对应的gradle版本是在 gradle-wrapper.properties 中修改: 当然

    2024年02月03日
    浏览(46)
  • Android Studio插件版本与Gradle 版本对应关系

    关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 我们继续总结学习 基础知识 ,温故知新。 本文记录android studio插件版本 与 所需的最低 Gradle 版本的

    2024年02月08日
    浏览(51)
  • 记录解决Android Studio下载gradle超时问题

    大三学生,2023年3月19号晚,首次下载Android Studio2022版本并新建项目,发现在下载gradle总是连接超时,舍友则没有这个问题,用的是同一个安装包。 查阅文献太多,忘记都有哪些了,就不列出来了,都是公开的。 总结:连接不上外网的谷歌导致网络超时,通过其他方法下载好

    2024年02月05日
    浏览(95)
  • android studio里面build.gradle文件说明,ndk版本和gradle插件关系

    一、上述的android gradle 插件版本和gradle版本 对应关系         Android Gradle 插件版本说明  |  Android 开发者  |  Android Developers           二、修改gradle版本(gradle-wrapper.properties文件),gradle插件版本(build.gradle文件)            NDK版本默认是根据配置Android Gradle插

    2024年02月16日
    浏览(45)
  • 【Android Gradle 插件】Android Studio 工程 Gradle 构建流程 ② ( settings.gradle 构建脚本分析 | 根目录下 build.gradle 分析 )

    pluginManagement 脚本块 , 用于 配置 Gradle 插件的 Maven 仓库 , 配置的是 构建过程 中 , 使用的仓库 ; dependencyResolutionManagement 脚本块 , 用于 配置 依赖 的 Maven 仓库 , 配置的是 工程 或 模块 下的依赖使用的仓库 ; 在 dependencyResolutionManagement 脚本块 中 定义的 repositoriesMode.set(Repositorie

    2024年02月03日
    浏览(52)
  • 【错误记录】Android 编译报错 ( Could not resolve xxx | 手动下载依赖库并进行本地配置 Gradle 依赖的解决方案 | 构建 Maven 依赖下载路径 )

    编译 Android Studio 项目时 , 报如下错误 , 下载依赖库失败 ; 报错信息 : 下面是 当前 Android 项目的 Gradle 配置中的 Maven 仓库 ; 其中使用 maven { url \\\"https://repo.spring.io/plugins-release/\\\" } 配置的 Maven 仓库就是对应的地址 ; 使用 google() 函数配置的 Maven 仓库地址 是 https://maven.google.com/ , 可

    2024年04月15日
    浏览(72)
  • 新版android studio gradle插件7.4.2.pom一直无法下载问题

    android studio同步时候出现org.gradle.api.plugins.UnknownPluginException,Plugin [id: \\\'com.android.application\\\', version: \\\'7.4.2\\\'] was not found in any of the following sources: pom插件一直无法下载,搞了好几天,简直想砸电脑,今天烦躁,乱搞了一通,结果好像可以了。 是android studio代理问题:         默

    2024年02月01日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包