You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio Hedgehog编译时Android 34为何不等同于UpsideDownCake?

问题背景

我已将Android Studio版本更新至:

Android Studio Hedgehog | 2023.1.1 Canary 7
Build #AI-231.9011.34.2311.10238683, built on June 1, 2023
Runtime version: 17.0.6+0-17.0.6b829.9-10027231 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 12.6.1
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 12
Metal Rendering is ON
Registry:
    external.system.auto.import.disabled=true
    debugger.new.tool.window.layout=true
    ide.text.editor.with.preview.show.floating.toolbar=false
    ide.experimental.ui=true
    ide.images.show.chessboard=true

并将Android应用的gradle文件重构为:

android {
    namespace 'com.xxxxxxx.xxxxxxxxx'
    compileSdk 34
    buildToolsVersion = "34.0.0"

    defaultConfig {
        applicationId 'com.xxxxxxx.xxxxxxxxx'
        minSdk 26
        targetSdk 34
        versionCode 7
        versionName "3.0.4"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables {
            useSupportLibrary true
        }
    }
}

随后更新gradle依赖,引入版本:

com.google.android.material:material:1.10.0-alpha03

编译失败,错误信息显示依赖com.google.android.material:material:1.10.0-alpha03要求编译目标为Android API代号"UpsideDownCake",但当前应用编译目标为android-34。请问为何Android 34和UpsideDownCake不等效,该如何解决这个编译失败问题?

问题解答

为什么Android 34和UpsideDownCake不等效?

Android API 34对应的是Android 14 Beta版,而UpsideDownCake是Android 14的开发代号。在com.google.android.material:material:1.10.0-alpha03发布时,Android 14还处于早期预览阶段,Google当时只用开发代号指代这个版本,正式的API等级34还没被该版本的Material库纳入识别范围,所以会出现两者不等效的判断。

解决方法

方法1:切换为开发代号编译

在gradle配置里,把compileSdk和targetSdk的值从34改成"UpsideDownCake",同时要确保你的Android Studio已经安装了UpsideDownCake对应的SDK组件:

android {
    namespace 'com.xxxxxxx.xxxxxxxxx'
    compileSdk "UpsideDownCake"
    buildToolsVersion = "34.0.0"

    defaultConfig {
        applicationId 'com.xxxxxxx.xxxxxxxxx'
        minSdk 26
        targetSdk "UpsideDownCake"
        // 其他配置保持不变
    }
}

方法2:升级Material组件库版本

改用更高版本的com.google.android.material:material库,后续发布的正式版或更新的预览版会适配已确定的API 34标识。比如可以尝试1.10.0正式版(如果已发布),或者更新到后续的alpha/beta版本,这些版本通常会支持compileSdk 34的配置。

内容的提问来源于stack exchange,提问作者Hector

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 22:39:53