根本问题:kotlin新建项目run报错:app:processDebugAndroidTestManifest FAILED android:exported <activity>

本文主要是介绍根本问题:kotlin新建项目run报错:app:processDebugAndroidTestManifest FAILED android:exported <activity>,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

环境背景:

Android Studio 2020.3.1.23

本人完全不懂Java生态,也不懂Android

如下图:

创建没有按钮的项目就不会报错,图中项目就会报如下错误:

Task :app:processDebugAndroidTestManifest FAILED

android:exported needs to be explicitly specified for <activity>. Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined

Execution failed for task ':app:processDebugAndroidTestManifest'.
> Manifest merger failed with multiple errors, see logs

等等等等。

 一开始报错buildTools版本错误时,切换到了30.0.2,不报了,可是这个错误怎么着都不行,网上一大堆说什么 activity标签加上exported属性,问题是本来就在!改成true也不行,改成false也不行!

最最最最坑爹的就是这个报错,我只顾着看红色报错,无意中,看到下面正常颜色的一句话:

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
Use '--warning-mode all' to show the individual deprecation warnings.

我就查了一下gradle是什么东西,大概浏览看懂了他的作用,大概像是前端的vite对于webpack一样的作用?替代manifest啊什么鬼东西的xml超级麻烦配置的方案。那我就去项目app目录下看了一下android.gradle文件,从中看到如下配置:

在我调查错误原因时,有印象看到过说31版太新,有一些不兼容的问题存在,便试着修改了一下这个配置,31改成30。

run!成功!!!

 需要说明一点,我一开始以为从工具栏File->Setting->Appearance&Behavior->System Settings->Android SDK中卸载31的,安装30的重新创建项目就可以。但不行!

重启IDE后以后SDK Platforms中31又会出现!这个我不知道为什么

所以虽然我不确定,但是以我的理解,那边只是管理整个环境中的包有哪些可以用,而这个android.gradle则是控制build或run时,用到哪些依赖包去创建项目或者运行项目的。

找这类错误一定要记住,先把出错的模块执行流程搞清楚!!!

找这类错误一定要记住,先把出错的模块执行流程搞清楚!!!

找这类错误一定要记住,先把出错的模块执行流程搞清楚!!!

我对自己说。

这篇关于根本问题:kotlin新建项目run报错:app:processDebugAndroidTestManifest FAILED android:exported <activity>的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/196962

相关文章

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Kotlin 作用域函数apply、let、run、with、also使用指南

《Kotlin作用域函数apply、let、run、with、also使用指南》在Kotlin开发中,作用域函数(ScopeFunctions)是一组能让代码更简洁、更函数式的高阶函数,本文将... 目录一、引言:为什么需要作用域函数?二、作用域函China编程数详解1. apply:对象配置的 “流式构建器”最

Android中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

PyCharm如何设置新建文件默认为LF换行符

《PyCharm如何设置新建文件默认为LF换行符》:本文主要介绍PyCharm如何设置新建文件默认为LF换行符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录PyCharm设置新建文件默认为LF换行符设置换行符修改换行符总结PyCharm设置新建文件默认为LF

springboot报错Invalid bound statement (not found)的解决

《springboot报错Invalidboundstatement(notfound)的解决》本文主要介绍了springboot报错Invalidboundstatement(not... 目录一. 问题描述二.解决问题三. 添加配置项 四.其他的解决方案4.1 Mapper 接口与 XML 文件不匹配

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda