Android编译报错:android:enableOnBackInvokedCallback属性未找到
AndroidManifest报错:android:enableOnBackInvokedCallback属性找不到的排查方案
报错信息
ERROR: U:\AndroidStudioProjects\MyApp\app\src\main\AndroidManifest.xml:9:5-99:19: AAPT: error: attribute android:enableOnBackInvokedCallback not found.
排查与解决方法
编译SDK版本不达标
android:enableOnBackInvokedCallback是Android 13(API 33)新增的属性,若项目的compileSdkVersion低于33,AAPT会无法识别该属性。打开模块级build.gradle(通常是app/build.gradle),将compileSdkVersion设置为33或更高版本:android { compileSdkVersion 33 // 或更高,如34 // ...其他配置 }检查Manifest合并结果
即使主项目和依赖的aar都配置了该属性,Manifest合并过程中可能出现覆盖或冲突。可以查看合并后的最终Manifest:- 打开Android Studio,点击顶部菜单栏的
Tools > App Links Assistant - 在弹出的窗口中选择
Open Merged Manifest
查看application节点下是否存在android:enableOnBackInvokedCallback属性,若不存在,说明该属性被其他Manifest配置覆盖,需调整合并规则。
- 打开Android Studio,点击顶部菜单栏的
清理缓存
Android Studio或Gradle的旧缓存可能导致Manifest未被正确更新,执行以下操作清理:- 点击
File > Invalidate Caches...,勾选Invalidate and Restart重启IDE - 在项目根目录的终端执行命令:
# Windows gradlew clean build # Mac/Linux ./gradlew clean build
- 点击
检查自研AAR的编译配置
若依赖的自研AAR模块compileSdkVersion低于33,即使其Manifest中添加了该属性,打包时也无法被正确识别。打开AAR对应的Module的build.gradle,确保compileSdkVersion >=33,重新打包AAR后再引入主项目。
内容的提问来源于stack exchange,提问作者mmo
相关产品推荐
相关产品推荐

