Android Gradle - AGP(Android Gradle Plugin)更新失败,你遇到了吗?

news2025/8/10 11:19:03

因为项目中有Java和Kt,同时也是组件化项目,所以配置方面一直存在一些问题(项目可正常运行,只是影响开发效率),此处仅记录我在AndroidStudio中更新AGP(Android Gradle Plugin,即Android 官方开发的Gradle插件)时所遇问题

因为主要涉及到 GradleGradlePlugin ,同时兼顾 JavaKtGradle相关配置的不同,所以可根据需求对应查看 Kotlin Gradle Plugin

    • 所遇报错
    • 问题解决
      • Failed to upgrade AGP version
      • All flavors must now belong to a named flavor dimension.?
        • 通用方式
        • 个人场景(AGP更新失败)
      • Android Studio Run/Debug configuration error: Module not specified

所遇报错

  • Failed to upgrade AGP version (Gradle插件更新失败)
  • Android Studio Run/Debug configuration error: Module not specified(找不到应用启动的组件)
  • All flavors must now belong to a named flavor dimension.?(翻译为代码有坏味道)

问题解决

Failed to upgrade AGP version

场景:该问题一般出现在更新AGP出错的时候,一般我们需要在build.gradle.ktsgradle-wrapper.properties 进行相应配置

示例

build.gradle.kts

"com.android.tools.build:gradle:7.0.0-alpha14"

gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-all.zip

图示
在这里插入图片描述


All flavors must now belong to a named flavor dimension.?

错误原因:主要是 Plugin 3.0.0 之后有一种自动匹配消耗库的机制,便于debug variant 自动消耗一个库,然后就是必须要所有的flavor 都属于同一个维度。为了避免 flavor 不同产生误差的问题,应该在所有的库模块都使用同一个foo尺寸。

注意Androidstudio3.0 以后 不能在manifest.xml 设置sdk最小版本,而必须在 gradle 里设置。否则会报错 The minSdk version should not be declared in the android manifest file.,解决方法是把manifest里面对应的minSdk部分删除。

通用方式

我在查解放方式时,发现有一位朋友遇到该错误的场景搭建友盟集成环境时报错我自己是 更新Plugin 失败后报的错

通用解放方式一般也是在主app模块build.gradle里面的 defaultConfig标签 加入了 flavorDimensions "versionCode"

主app模块build.gradle

在这里插入图片描述
defaultConfig标签 加入了 flavorDimensions "versionCode"

在这里插入图片描述


个人场景(AGP更新失败)

Look Here:我出现这个问题的时候上方的解决方式无效,我是在更新AGP失败后,配置文件发生了改变,但是却无法编译才出的报错

我之前说过在项目中用了 JavaKt ,也用到了组件化开发,所以在 build.gradle (Project) 中有 buildscript - dependencies 主要设置一些 gradle 的配置

平常新建项目的 build.gradle (Project)

在这里插入图片描述

我的组件化项目 build.gradle (Project)

在这里插入图片描述

更新失败后的错误版本都在红框内,只要将这里的相关配置、版本改为之前的就好,最多不更新就好

在这里插入图片描述


Android Studio Run/Debug configuration error: Module not specified

我遇到这个问题的时候,主要是应用都无法启动了,没有相关配置,当然也是因为我瞎操作导致的

在这里插入图片描述

通过 Edit configuration templates... 重新配置启动组件,如下图,配置时没有module可选,因此报错error: Module not specified

在这里插入图片描述

我是因为AGP更新失败,导致无法识别组件,才遇到的这个问题,在我将build.gradle (Project)回退后,方可正常运行

别人的解决方法

  1. 打开根目录的settings.gradle,删除include ':app'
  2. Android Studio上,点击File --> Sync Project with Gradle files
  3. 同步后,把include ':app'重新写入settings.gradle
  4. 重新运行File --> Sync Project with Gradle files

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/15461.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

jmeter 使用

下载安装 去官网下载binary文件https://jmeter.apache.org/download_jmeter.cgi 解压后,进入解压目录的 /bin/ ,通过 sh jmeter 命令来启动 Jmeter。 使用jmeter GUI创建test plan 创建线程组流程:测试计划–>右键–>添加–>线程…

threeJS与模型交互

效果预览 该场景是模拟两个楼层,当鼠标放到不同的楼层上时改变其透明度 blender中的模型如下图: 首先导入模型 import { FBXLoader } from three/examples/jsm/loaders/FBXLoader.js addfbx () {const loader new FBXLoader()loader.load(/models/…

算法:最长递增子序列

一、题目描述 给定一个长度为N的数组a0,a1,a2…,an-1&#xff0c;找出一个最长的单调递增子序列&#xff08;注&#xff1a;递增的意思是对于任意的i<j&#xff0c;都满足ai<aj&#xff0c;此外子序列的意思是不要求连续&#xff0c;顺序不乱即可&#xff09;。例如&…

K8s自动化集群环境搭建

文章目录一、环境规划1.1 集群类型1.2 安装方式二、环境搭建1、主机安装2、主机名分配3、时钟同步4. 禁用firewalld、selinux、postfix5. 禁用swap分区6. 开启IP转发&#xff0c;和修改内核信息7. 配置IPVS功能8. ssh免密认证三、安装docker1、更换阿里云镜像仓库2、安装docker…

【前端】HTTP —— HTTP 协议中的细节(超详细!!)

JavaEE传送门JavaEE 【前端】JavaScript —— JS的基本语法之数组, 函数… 【前端】JavaScript —— WebAPI 目录HTTP 协议抓包工具 fiddler协议格式RequestResponseHTTP 协议中的细节认识 URLURL 基本格式URL encode/ decode认识 "方法" methodGETPOSTGET 和 POST…

感叹之余随手记—他山之石,可以攻玉

如上是开源webRTC项目的一个OC代码文件&#xff0c;注意到文件名是mm后缀了吗&#xff1f; 是的&#xff0c;它是一个OC特性之OC跟C/C代码混编&#xff0c;上面的代码就C runtime跟OC runtime的string对象的互相转化。 开源成就了很多人很多事&#xff01; 开源提升了我们的工作…

MySQL高级学习笔记(二)

文章目录MySQL高级学习笔记(二)1.Mysql的体系结构概览2. 存储引擎2.1 存储引擎概述2.2 各种存储引擎特性2.2.1 InnoDB2.2.2 MyISAM2.2.3 MEMORY2.2.4 MERGE2.3 存储引擎的选择3. 优化SQL步骤3.1 查看SQL执行频率3.2 定位低效率执行SQL3.3 explain分析执行计划3.3.1 环境准备3.3…

【JavaSE】内部类介绍与总结

文章目录内部类的概念静态内部类实例内部类局部内部类匿名内部类内部类的概念 什么是内部类呢&#xff1f;在一个类里面定义了另一个类&#xff0c;我们就把前者称为外部类&#xff0c;后者称为内部类。 静态内部类 内部类也是有分类的&#xff0c;我们先来看看静态的内部类…

开源的滚滚浪潮:近年来开源多样化的几大亮点

导读目前参与进开源社区的人群仍然缺乏多样性&#xff0c;但是好的一面是&#xff0c;许多人、项目和社区正在努力改善这一现状。我从开源社区在2015年以来为提高多样性作出的努力中收集了几大亮点。Outreachy 发展多样性的实习项目 Outreachy 作为软件自由管理局的成员项目之…

7种方式企业内部资料共享,你pick谁?

企业内部资料共享&#xff0c;很多公司也还停留在用微信和QQ分享文件&#xff0c;但小编认为通过IM方式&#xff0c;只能说“发送”文件而已&#xff0c;并没有达到“共享”的需求。 试想一下这几个场景就能明白&#xff1a; 内部材料收集&#xff0c;是一份份地通过微信发送给…

OPENFLOW协议协议分析实践

一、基本要求 1.搭建下图所示拓扑&#xff0c;完成相关 IP 配置&#xff0c;并实现主机与主机之间的 IP 通信。用抓包软件获取控制器与交换机之间的通信数据。 2.查看抓包结果&#xff0c;分析OpenFlow协议中交换机与控制器的消息交互过程&#xff0c;画出相关交互图或流程图。…

【后端】HTTP4

回顾一下之前学习的内容 通过之前的学习&#xff0c;我们大致了解了HTTP请求响应的报文格式 HTTP请求 &#xff08;1&#xff09;首行&#xff08;方法 URL 版本号&#xff09; &#xff08;2&#xff09;请求头 header &#xff08;3&#xff09;空行 &#xff08;4&a…

计算机网络(第六弹) --- 与 HTTP 有关的八个问题

当我们用浏览器打开一个网页时基本上都是基于 HTTP 协议来进行传输的, 其实用 APP 来打开一个界面看到的 APP 中的内容大概率也是基于 HTTP 协议传输的, 因此 HTTP 对于网络而言的重要性不言而喻!   HTTP 这个协议在传输层主要是基于 TCP 来实现的, TCP 是传输字节流的协议, 只…

客户生命周期管理的五个最佳实践

每个优秀的客户服务人员都知道&#xff0c;业务不仅仅是完成一次性交易。优秀的企业与客户建立互惠互利的关系&#xff0c;相当于提高了客户的终身价值。换句话说&#xff0c;他们确保客户长时间留下来。本文将讨论客户生命周期管理的一些最佳实践。 1、与潜在客户和客户进行个…

业务数据分析-Excel必须掌握的7个操作技巧(二)

Excel必须掌握的7个操作技巧1、定位2、选择性粘贴3、快速填充4、查找与替换5、分列与合并6、去除重复项7、日期格式规范1、定位 如何快速定位到不连续的空值&#xff0c;填充为0 1.在任意空单元格里复制0 2.选中数据区域CtrlA 3.CtrlG 4.选择【定位条件】 5.选择【空值】 6.Ct…

如何使用Docker安装Kibana

&#xff08;一&#xff09;、概述 Kibana是一款开源的数据分析和可视化Web平台&#xff0c;用于对 Elasticsearch 索引中的数据进行搜索、查看、修改、添加和删除操作。 &#xff08;二&#xff09;、安装 1、Docker环境 视频教程&#xff1a;https://www.bilibili.com/vi…

ifconfig 查看 etcd 使用的 IP 是否存在

在该节点上 ping 其他节点 IP&#xff0c;测试是否 ping 通。 如果 ping 不通&#xff0c;执行步骤&#xff08;1&#xff09;&#xff08;2&#xff09;&#xff0c;检查该节点网络、IP 配置、防火墙配置等。 如果 ping 通&#xff0c;执行步骤&#xff08;3&#xff09;确认…

ceph delete pool

参考&#xff1a; Pools — Ceph Documentation 前言&#xff1a;网上的写的乱七八糟不是你抄我就是我抄你 写的完全瞎扯 简直看不下去 官网截图&#xff1a; #准备 1.查看pool名称 ceph osd lspools #创建一个pool用于做测试/设置分类 ceph osd pool create pool-demo 6 6 cep…

供销社物资仓库管理系统-RFID供销社物资管理系统

1、建设背景 1.1项目目标 目前&#xff0c;许多仓储管理主要是基于相应规范的手工作业及电脑半自动化管理实现的&#xff0c;其弊病显而易见&#xff0c;即需要投入大量人力进行规范物品的放置、定期整理盘点以及出入库登记等工作&#xff0c;这使得仓储管理问题十分繁琐&…

Ubuntu下MySql数据库报1055报错

问题描述 在运行Ubuntu下数据库时执行group by 时报错&#xff0c;但在Windows下没有问题 报错内容 1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘exercise_8.1.sc.student_id’ which is not functionally dependent…