发布时间:2026/9/3 19:49:56
Android SDK Platform 34/35 安装、适配与避坑指南 简介Android SDK 平台 34 和 35 是面向 Android 应用开发者的 API 级别组件包对应 Android 14/15 系统版本可用于解决应用在特定系统上的编译、调试与兼容性问题。该资源共包含 2000 个文件以 XML 系统数据与配置说明为主辅以 HTML 格式的 API 文档和少量 TXT 指引文件整体压缩包约 121.6MB。已有 383 人学习浏览适合需要对接新版 SDK 接口、验证新功能以及核查弃用 API 的中高级开发者。通过这套平台文件开发者可以查阅 API 34/35 的类与方法描述、组件定义和示例文档了解新增的 UI 元素、硬件支持及安全机制并借助 AVD 与 Emulator 配置虚拟设备进行兼容性测试。同时资源中的 XML 配置与 HTML 文档有助于梳理平台目录结构为项目迁移、构建脚本调整和后续多版本适配提供直接参考。 盯着 Android Studio 的 SDK Manager 看了半天发现列表里同时出现“Android SDK Platform 34”和“Android SDK Platform 35”两个勾选项这种场景我这两年见得特别多。如果你手上同时维护着两个甚至更多的 App或者刚接手一个从旧仓库升级而来的项目大概率也会碰到同样的疑问。这个标题看起来像个普通文件夹名但背后真正的问题其实是这两个平台包到底是什么、为什么要同时存在、以及它们到底该怎么装、怎么用、怎么排坑。确切地说android-sdk-platforms-34and35 并不是某个官方组件的固定命名而是开发者对platforms;android-34和platforms;android-35这两个 SDK 平台包的合称。前者对应 Android 14 的系统 API后者对应 Android 15。它们决定你的应用能调用哪个版本的 Framework 接口、系统行为和兼容性规则。这篇内容就围绕这两个平台包的安装、工具链匹配、适配要点和排障经验展开适合刚入门 Android 的工程师也适合正在搭建多版本构建环境的团队。先别急着点“Install”我建议你把全文看完再动手因为装错版本或者漏掉配套工具往往比不装更折腾。1. 项目概述为什么大家会同时遇到两个平台版本1.1 SDK 平台包到底是什么我见过不少新人把“SDK”理解成一个又大又全的安装包好像装完就万事大吉。其实 Android SDK 是分层的最底层是 cmdline-tools、platform-tools 这类命令行和调试工具再往上是 build-tools 编译工具而真正决定你项目编译目标的是platforms/android-XX目录。每个平台包的核心是一个android.jar外加一些系统镜像和索引文件。它提供的是这个 Android 版本对外暴露的 API 类与方法签名。你在代码里写compileSdk 34Gradle 就会去 SDK 目录里找platforms/android-34/android.jar来校验调用是否合法。如果你用了某个 API 35 才引入的方法而 compileSdk 还是 34编译阶段就会直接报“找不到符号”。所以升级平台包不只是“多点一个勾”这么简单它决定了整个编译栈的上限。1.2 为什么要常备两个版本理论上只装一个版本也能活但实际项目里 34 和 35 并存是常态。首先是渐进升级的需求应用商店往往要求新版本应用把 targetSdk 提到某个门槛比如 34但你的依赖库可能还没完全适配 35这时候你会想先让 compileSdk 升到 35targetSdk 仍然保持 34等库都跟上了再切换 targetSdk。这个过渡期就需要两个平台包同时在线。其次维护老项目的需求也很常见。有些项目还停在 AGP 7.x如果贸然把 compileSdk 顶到 35会有大量编译异常和 lint 规则需要处理先停在 34 反而更稳妥。另外还要考虑第三方 SDK 的适配节奏在实际项目维护中音视频、地图、推送这类 SDK 的版本更新往往滞后于系统版本主 App 已经在 34 上稳定跑了几个月而某些库到 35 才刚修复 16 KB 对齐问题。所以“34 负责稳定35 负责前瞻”成了不少团队的标准姿势。1.3 适用人群和典型场景原生 Android 应用开发者要根据业务需求在 targetSdk 和 compileSdk 之间反复切换。SDK 厂商或内部基础库维护者需要同时验证自己的库在 API 34/35 上的表现跑矩阵编译。跨平台工具链使用者比如 Flutter、UniApp、React Native 开发者底层依赖 Android SDK 版本还得保证编译端与运行端匹配。CI/CD 维护者流水线里必须预装两个平台包否则不同分支的构建会卡在“SDK location not found”。这里我要提前说明安装平台包只是第一步后续的 build-tools、platform-tools、模拟器镜像版本每一步都可能出问题我放到后面专门讲。2. 环境准备与工具链版本匹配2.1 Android Studio 与 AGP 版本怎么选很多人以为装了最新版 Android Studio 就什么都能编译其实 Android Studio 和 Gradle 插件AGP是两套独立的东西而 AGP 对 compileSdk 上限有要求。网上有个高频问题Android Studio Hedgehog | 2023.1.1 Patch 2 支持 AGP 8 版本吗答案是支持 AGP 8.x但这版 IDE 内置验证范围约在 AGP 8.2拿来编译 compileSdk 34 非常稳硬要编译 35 就会看到类似“This SDK is unsupported by this AGP version”的提示。目标平台包建议 AGP 下限建议 Android Studio 版本android-348.1.1 以上Hedgehog 2023.1.1 或更新android-358.6.0 以上Koala 2024.1.1 或更新上面的配置是我实际跑过的稳妥组合具体支持边界以你安装的 AGP release note 为准。如果你的工程里还有 Kotlin KSP、Hilt、Room 这类代码生成器升级 compileSdk 时最好把它们的版本兼容表一起核一遍否则很容易出现“报错提示在 Kotlin 插件里实际得换 AGP”这种绕圈子的情况。我在实测里就经历过一次单纯加 KSP 版本却一直编译不过最后发现是 AGP 太老换到 8.6 后瞬间通过。2.2 用 sdkmanager 精准安装两个平台包图形界面装 SDK 当然简单但如果你维护的是 CI 服务器或者 Studio 自带的下载通道不太稳我推荐直接命令行操作。Windows、macOS、Linux 下流程一致先确认ANDROID_HOME环境变量指向了 SDK 根目录然后执行cd $ANDROID_HOME/cmdline-tools/latest/bin ./sdkmanager platforms;android-34 platforms;android-35第一次运行会提示同意许可加一句自动接收yes | ./sdkmanager --licenses装完后用./sdkmanager --list_installed检查能看到platforms;android-34和platforms;android-35都出现说明平台包装好了。如果只想装一个就传对应的包名即可。另外需要注意很多人会顺手把build-tools;34.0.0装了这不是必须的Gradle 能用平台包自带的 build-tools 版本兜底但老项目如果有指定构建版本依赖最好把对应 build-tools 也补齐否则打包时会有“failed to find Build Tools revision”的花式报错。2.3 Gradle 工程配置示例平台包装好之后核心配置落在模块级build.gradleandroid { compileSdk 35 defaultConfig { targetSdk 35 minSdk 24 } }这段配置的意思是用 API 35 的接口做编译校验目标设备按 Android 15 的行为运行但最低兼容到 Android 7.0。如果你不想立刻升级 targetSdk可以先保持 34只把 compileSdk 提到 35这在迁移期是常用策略。这里有细节要提醒大家当 compileSdk 比 targetSdk 高时某些 lint 检查会变严格比如后台定位权限、隐私弹窗时机建议在迁移窗口内把 lint 报错降为警告或者分批修复否则团队并行开发时会多出很多“无效”的构建失败。3. 从 34 到 35 的核心差异和适配要点3.1 Android 14API 34必须知道的行为变化API 34 的改动面很大但我做适配时最优先处理的是这几项。第一前台服务类型强制化targetSdk 34 及以上每类前台服务必须声明对应的 foregroundServiceType并且启动前要有对应权限否则直接抛MissingForegroundServiceTypeException。第二广播接收器限制更严静态注册的 receiver 不能再接收大部分系统隐式广播需要改成动态注册或交给 WorkManager。第三精确闹钟权限闹钟、日程提醒类应用要单独申请USE_EXACT_ALARM或SCHEDULE_EXACT_ALARM并且在应用商店后台说明用途否则审核容易被拒。很多团队从 33 升到 34第一个崩溃点往往发生在后台启动 Activity 或读取已安装应用列表上。这类行为变化不是改一行配置就完事的得把业务场景逐个过一遍。我习惯先在测试机上装一份 targetSdk 34 的包跑一遍核心链路把日志里所有和权限、Intent、广播有关的异常都捞出来再统一改代码效率比上线后收到崩溃反馈再修高得多。3.2 Android 15API 35新增和强制项API 35 带来的最大变化我这边排第一的是 16 KB 页面大小支持。简单解释新设备的存储会按更大的页来管理如果你的 App 里包含自己编译的 .so 文件或者接入了带 so 的第三方 SDK这些库必须用 16 KB 对齐的 ELF 格式重新编译否则在 Android 15 设备上很可能直接崩溃日志里经常出现unsupported page size之类的关键词。这个问题在 x86 模拟器上偶尔不明显但放到真机上就很容易复现。第二个值得提前动手的是 edge-to-edge 默认强制执行。targetSdk 35 之后系统不再自动帮你避开状态栏和导航栏应用必须自己处理 insets不然页面内容会被摄像头打孔和手势条遮住。很多项目第一次升 35 都会收到“底部按钮被手势条挡住”的反馈这是新增适配工作量的大头。第三个是预测性返回动画系统推荐开发者迁移到新的返回回调onBackPressed老接口虽然短期还能跑但在 API 35 上表现会有差异。如果没时间细做至少要保证返回逻辑和之前一致再考虑动画跟进。3.3 多版本共存时的编译策略同时装了 34 和 35并不意味着每个项目都要用 35。我的建议是新项目或新模块直接用 compileSdk 35老项目可以再守一轮 34。如果你做的是 SDK 厂商最好针对 compileSdk 34 和 35 各跑一套 CI 矩阵任务因为客户的工程五花八门有的停在 33有的已经冲到 35只验证一个版本很容易埋雷。在多版本代码里尽量不要写“if (Build.VERSION.SDK_INT 35)”这种裸判断更推荐用 androidx 的 compat 系列比如ContextCompat.checkSelfPermission、ActivityCompat.requestPermissions它们内部已经封装好了各版本的行为差异。如果要调用某个版本独有的 API用RequiresApi注解标清楚并在调用处判断版本否则上线的包里可能藏着低版本崩溃的隐患。4. 实际问题排障与避坑记录4.1 安装平台包时的经典报错先说最近我真实遇到的一个报错“An error occurred while preparing SDK package”。很多人一看到这个提示就反复重试下载其实多半和两个因素有关一是本地 SDK 目录没有写权限二是之前下到一半的临时文件损坏。正确做法是关掉 Android Studio删除 SDK 目录下的.temp文件夹然后重新用 sdkmanager 命令安装Windows 上还要注意杀毒软件可能占用或锁定文件导致解压失败。另一个和 API 35 强相关的报错提示文本里会出现“16 kb page size”的字样。这个错误通常不出现在平台包安装阶段而是在创建或启动 API 35 模拟器的时候。原因是对应版本的模拟器系统镜像还没适配新的页面大小机制建议去 SDK Manager 把 Android Emulator 和系统镜像全部更新到最新同时确认模拟器加速模块处于启用状态。顺便回应一个历史问题SDK Tools 里没有 HAXM 怎么办其实 Intel 已经停止维护 HAXMAndroid Studio 早就换了新的加速方案。现在的关键不是装 HAXM而是确认 Windows 下 Android Emulator hypervisor driverAEHD已经启用或者系统虚拟化平台可用不然模拟器会慢到让人崩溃。4.2 编译期和运行期的兼容性问题编译期最容易翻车的是 AGP 版本不够。一升级 compileSdk 到 35就出现类似“Android SDK platform 35 is not supported by this Android Gradle plugin”的提示。这时候不用怀疑平台包装错了就是 AGP 太老按前面 2.1 节的表升级即可。还有个容易忽略的点升级 AGP 后 Gradle 版本也可能要跟着调一般 AGP 8.6 需要 Gradle 8.7 以上否则会有“Minimum supported Gradle version”的提示。运行期还有一类问题虽然跟平台包本身没直接关系但经常会伴随出现targetSdk 到 34 或 35 之后读取某些文件的 URI 会报file://被拒或者读取content://时出现 EACCES。这通常不是 SDK 平台包的问题而是 FileProvider 配置不对或者应用没有声明包可见性。很多开发者习惯在代码里直接拼/android/data/...这类路径去访问另一个应用的目录这在旧版本可能碰巧能用到 API 30 以后基本走不通必须改走 Storage Access Framework 或系统授予的媒体权限。再举一个项目里经常遇到的例子用跨平台工具做 App最后打本地包时提示“本应用使用 HBuilderX 5.24 编译而手机端 SDK 版本是 5.07不匹配”。这个报错跟 Android SDK 平台包没有直接关系但本质上是同一个版本错位问题编译端的 SDK 和运行端容器必须一一对应。升级时不能只更新编译器或只换手机端 SDK两边的版本号要一起对齐否则自定义基座跑不起来连真机调试都会断断续续。4.3 我总结的避坑清单把所有经验浓缩成一张表方便你直接对照检查场景症状做法安装平台包失败“An error occurred while preparing SDK package”清理 .temp、检查 SDK 目录权限、重新安装模拟器启动异常提示 16 KB page size 不兼容更新 Emulator 与系统镜像启用 WHPX/AEHD 加速compileSdk 35 编译失败“not supported by AGP”升级 AGP 到 8.6同步升级 Gradle 和 Android Studio第三方库不兼容老 so 在 Android 15 设备崩溃联系 SDK 厂商更新到 16 KB 对齐版本文件访问被拒EACCES / FileUriExposedException使用 FileProvider 和 SAF不要拼 data 路径跨平台工具端与运行端版本不一致本地包或基座提示 SDK 版本不匹配统一升级编译器与手机端 SDK 版本我个人的习惯是每个季度至少用最新的 compileSdk 建一个 demo 工程跑一遍依赖库升级和典型功能回归让团队的技术储备一直保持热度。这样做的好处是等平台包切换真正来临时不会出现“SDK 都装好了代码却编不过”的尴尬。如果你正在做 34 到 35 的迁移别急着把所有项目一次性全量升级先在测试分支上把 compileSdk 和 targetSdk 分步验证完再逐步铺开。我自己踩过几次坑之后发现很多所谓的“版本不兼容”其实只是升级顺序不对先稳后快才是省心的路线。本文还有配套的精品资源点击获取

相关新闻

2026/9/3 19:49:56

Android SDK platforms-34and35 安装配置与避坑指南

简介:android-sdk-platforms-34and35 是一份面向 Android 应用开发者的 SDK 平台资源,完整涵盖 API 级别 34 与 35 的开发工具、库和接口文档,适合需要适配新版系统、利用新特性或排查兼容性问题的开发者。压缩包共 2000 个文件,以…

2026/9/3 19:49:56

STM32CubeMX 6.1.1安装全流程:JRE配置与固件包问题一站式排查

简介:作为STM32嵌入式开发的核心配置工具,STM32CubeMX 6.1.1安装包面向需要以图形化界面进行芯片初始化、外设配置与代码生成的开发者,自带JRE运行环境,解决工具对Java的依赖。压缩包共8个文件,整体约323.92MB&#xf…

2026/9/3 19:49:56

Matlab量化数据获取利器:Tushare Pro SDK封装详解

简介:面向MATLAB金融数据分析场景的tushare_matlab_sdk.zip,是为需要获取中国A股行情、财务及交易数据的量化研究者与工程师准备的轻量工具包。压缩包共8个文件,包含6个m脚本和2个txt说明文档,整体仅15KB。m脚本涵盖网络请求封装、…

2026/9/3 20:45:05

Kubernetes 资源限制与健康检查配置指南

LimitRange kubernetes创建pod时,默认不指定资源请求和限制。如果namespace设置了配额,那么创建不指定资源请求和资源限制的pod是不允许的。为了在设定配额的namespace中使用pod,namespace还需要为pod资源请求设定默认范围。 LimitRange 资…

2026/9/3 20:45:05

MiniMax H3本地部署全攻略:从多模态原理到ComfyUI实战

1. 多模态模型的“本地化”焦虑,终于轮到视频了过去一年多,本地部署几乎成了大模型玩家的“成人礼”。LLaMA 系列让 7B、13B 参数的语言模型真正跑进了个人工作站,Stable Diffusion 和 ComfyUI 生态则让图像生成变成了显卡玩家的标配玩具。但…

2026/9/3 20:45:05

洞穴建图实战:ROS1与ROS2下的传感器配置与Cartographer建图

如果你在露天园区用 2D 激光雷达建一张地图,一般十几分钟就能出一张能用的栅格图;可一旦把同样一套 ROS 建图流程搬到洞穴、地下矿道或隧道里,情况会很快失控——地图漂移、回环闭合失败、点云撕裂,甚至跑着跑着系统直接报“找不到…

2026/9/3 20:45:05

办公自动化一步到位:OpenClaw 双系统部署教程,3 分钟跑通

📌 说明 本文基于 OpenClaw 3.1.0 版本进行讲解,整套流程采用图形可视化交互模式,整合包内置全部运行依赖,普通使用者即可完整复现整套部署操作。 ✨核心亮点: 全程可视化图形交互界面,自动补齐全部运行依…

2026/9/3 20:40:05

PowerBuilder调用DLL:EN32T.H头文件翻译与C封装实战

简介:面向PowerBuilder开发者的实用排错资源,针对将PB工程编译为DLL格式时出现“Error opening file c:\windows\system32\cgen\en32t.h”报错而整理。压缩包内包含编译所需的两个核心头文件,以及配套的pch预编译头文件,共4个文件…

2026/9/3 18:28:26

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/3 14:29:47

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/3 14:30:35

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/9/3 0:02:06

零基础装 OpenClaw 小龙虾 AI:Windows 一键部署教程与避坑要点

Windows 部署 OpenClaw 完整教程|本地 AI 智能体 5 分钟落地,环境配置一次搞定 版本说明:Windows 3.1.0 / Mac 2.7.9 写在前面 近两年开源 AI 领域有一款被称作「数字员工」的工具持续走热,它就是 OpenClaw,圈内人更习…

2026/9/3 0:02:06

Hermes Agent 本地部署新方案:Windows 整合包减少依赖报错

Windows 本地部署 Hermes 太麻烦?这版一键包 5 分钟快速跑通 很多人想体验 Hermes Agent,但真正开始部署时,往往会卡在环境配置这一步。 需要安装各类依赖、调试运行环境、处理路径问题,还容易遇到命令行报错、系统拦截、文件缺…

2026/9/3 0:02:06

实测 OpenClaw 一键包,5 分钟完成本地自动化环境搭建

OpenClaw 本地 AI 自动化工具部署指南|使用一键包规避环境配置难题 痛点:部署 AI 自动化工具常常要处理 Python、Node.js 各类依赖,版本冲突、环境配置耗费大量时间,OpenClaw 提供一键安装包,降低部署门槛。 适配系统&…

2026/9/3 20:43:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/3 17:51:43

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/2 1:15:20

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…