Android编译报错adaptive-icon要求最低SDK版本26如何解决?
Android编译报错
<adaptive-icon>元素要求最低SDK版本26解决方案 报错根因
项目当前配置的最低支持SDK版本(minSdkVersion)低于26,但是代码中使用了仅Android 8.0(API等级26)及以上系统支持的自适应图标<adaptive-icon>标签,触发AAPT资源编译错误。
可选处理方案
方案1:直接提升最低支持SDK版本
打开app模块下的build.gradle(Gradle Kotlin脚本对应build.gradle.kts)文件,修改defaultConfig代码块中的minSdk配置为26即可:android { namespace "com.your.packagename" compileSdk 34 defaultConfig { applicationId "com.your.packagename" // 将原低于26的minSdk值修改为26 minSdk 26 targetSdk 34 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } }修改完成后重新同步Gradle、编译项目即可。
方案2:兼容低版本SDK,拆分图标资源
如果需要兼容Android 8.0以下的设备,不需要提升minSdk:- 在
app/src/main/res/目录下新建drawable-v26文件夹 - 将报错的
ic_launcher_foreground.xml文件从drawable目录移动到drawable-v26目录 - 在原有
drawable目录下放置一套普通格式的桌面图标资源,适配低版本系统
这样系统会自动匹配对应版本的资源,不会触发版本不匹配错误。
- 在
方案3:移除自适应图标配置
如果不需要使用自适应图标特性,直接删除ic_launcher_foreground.xml文件,同时修改AndroidManifest.xml中的android:icon、android:roundIcon属性,指向普通的图标资源即可。
辅助排查方法
如果需要获取更详细的报错信息,可以在项目根目录的终端执行以下命令,输出完整的编译堆栈日志:
./gradlew assembleDebug --stacktrace --info
内容的提问来源于stack exchange,提问作者Amhaz
相关产品推荐
相关产品推荐

