news 2026/9/2 9:49:00

Android SDK Platform android-35 深度解析:从核心概念到手动部署实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Android SDK Platform android-35 深度解析:从核心概念到手动部署实践

简介:Android SDK Platforms API 35(对应Android 12.0 S)开发平台包,面向Android应用开发者及移动开发学习者,用于构建、调试与适配兼容Android 12.0系统的应用程序。资源以zip压缩包形式提供,共2000个文件,主体为1974个XML格式的API声明与配置文件(支撑编译时校验与IDE智能提示)、22个HTML格式的官方参考文档(含类说明与使用示例),以及4个TXT格式的版本与许可说明,整体大小61.65MB,结构规范、开箱即用。已有1033人下载学习,反映其在API升级适配与新特性实践中的实际需求。开发者可直接集成至Android Studio,获取完整的android-35平台支持:包括新增的隐私沙盒接口、Material You动态主题API、通知权限细化控制等核心能力,同时配套模拟器镜像基础定义与离线文档,显著降低环境搭建门槛,提升新版本兼容性验证效率。

1. 项目概述:Android SDK Platform android-35 深度解析

如果你正在开发一个面向 Android 14(API 级别 35)的应用,或者你的项目依赖库要求你升级到这个平台,那么你迟早会碰到一个名为android-35.zip的文件。这不仅仅是 Android Studio 后台默默下载的一个压缩包,更是你项目能否成功编译、运行,以及能否用上 Android 14 最新特性的关键基石。很多开发者,尤其是刚接触 Android 生态的朋友,常常对 SDK Manager 里那一长串的 “SDK Platforms” 列表感到困惑:它们到底是什么?为什么我的项目报错总是让我安装某个特定的平台版本?今天,我就以一个踩过无数坑的过来人身份,带你彻底搞懂android-35.zip这个文件,以及它背后代表的整个 Android SDK 平台体系。理解它,不仅能帮你解决 “安装android sdk显示failed to create directory” 这类恼人的问题,更能让你在构建和调试应用时做到心中有数,游刃有余。

简单来说,Android SDK (SDK Platforms)-android-35.zip是 Android SDK 中针对 API 级别 35(即 Android 14)的平台开发包。它不包含 Android Studio 这个 IDE,也不包含构建工具或平台工具,它专属于 Android 14 这个系统版本。当你下载并解压这个文件后,你的本地 SDK 目录下就会多出一个platforms/android-35/的文件夹,里面存放着开发 Android 14 应用所必需的一切只读资源:包括该版本的系统框架库(android.jar)、核心资源文件、系统映像(用于模拟器)、以及 API 文档等。没有它,你的 IDE 就无法识别 Android 14 的类和方法,编译器会报错,模拟器也无法创建基于 Android 14 的虚拟设备。

2. SDK Platforms 核心概念与 android-35 的定位

2.1 什么是 SDK Platforms?它与 Build Tools、Platform Tools 有何不同?

很多新手容易把 SDK 的几个组件搞混。我们可以把 Android 开发环境想象成一个厨房:

  • Android Studio:是整个厨房本身,提供了灶台、水池、操作台(代码编辑器、设计界面、调试器)。
  • SDK Build Tools:是具体的厨具,比如菜刀、炒锅、打蛋器。它包含了aapt(资源打包工具)、dx/d8/R8(代码转换和优化工具)等,负责将你的源代码“烹饪”成 APK 这道菜。不同版本的 Build Tools 可能优化了“刀工”或“火候”(编译速度和效率)。
  • SDK Platform-Tools:是连接厨房和餐厅的传菜员和通讯设备,主要是adb(Android 调试桥)和fastboot。它们负责把你的“菜”(APK)安装到“顾客”(手机/模拟器)那里,并建立调试连接。
  • SDK Platforms (如 android-35):则是特定菜系的官方食谱和标准食材包android-35这个“食谱”规定了做 Android 14 这道菜,你可以用什么原料(系统 API),成品应该是什么样子(系统行为)。它提供的android.jar就是这份食谱的索引,告诉你有哪些类和方法可用。

关键在于,你的项目编译时指定的compileSdkVersion必须与你已安装的某个 SDK Platform 版本一致。如果你在build.gradle里设置了compileSdk 35,但你的电脑上没有安装android-35这个 Platform,那么 Gradle 在编译时就会找不到对应的“食谱”,直接报错:“Failed to find target with hash string ‘android-35’”。

2.2 android-35 (API 35) 对应的系统版本与核心价值

android-35对应的是Android 14。每个主要的 Android 版本都会带来新的 API、行为变更和性能优化。选择android-35进行开发,意味着你可以利用 Android 14 引入的所有新特性,例如更细致的权限控制、后台限制的改进、以及针对大屏设备和折叠屏的增强支持等。即使你的应用目标用户大部分还在使用旧系统,使用最新的 Platform 作为编译目标也是一个好习惯,这能确保你的应用在遇到装有最新系统的设备时,行为是正确且经过测试的。同时,Google Play 等应用商店也鼓励开发者尽可能使用最新的 API 级别进行编译,以利用最新的安全性和性能改进。

2.3 为何需要手动管理(下载/备份)这些 ZIP 包?

Android Studio 的 SDK Manager 虽然方便,但在某些情况下会力不从心:

  1. 网络环境问题:由于众所周知的原因,从 Google 官方服务器下载 SDK 组件可能速度缓慢甚至中断,这时“android sdk 官网下载”就成了一件看运气的事。手动下载android-35.zip备用,可以避免每次搭建新环境时的漫长等待。
  2. 离线环境或统一部署:在公司内网、无外网访问的开发机,或需要为整个团队统一配置开发环境时,手动分发这些 ZIP 包是最可靠的方式。
  3. 备份与迁移:你的$ANDROID_HOME/platforms/目录下的内容就是这些 ZIP 解压出来的。直接备份这个目录,或者备份原始的 ZIP 文件,可以在重装系统或更换电脑时快速恢复开发环境。
  4. 解决诡异问题:有时 SDK Manager 的安装会不完整或出错(比如出现“failed to create directory”),手动下载并替换文件往往是终极解决方案。

3. 手动获取与部署 android-35.zip 全流程

当 SDK Manager 不给力时,我们就需要自己动手了。以下流程是我多次实践后总结的最稳路径。

3.1 官方与镜像源获取指南

最正规的途径当然是访问 Android 开发者网站 的 SDK 下载页面,但直接找 ZIP 包需要一点技巧。更实用的方法是利用国内高校和机构的镜像站,速度会快很多。

清华大学 TUNA 镜像站是一个极佳的选择。其 SDK 仓库结构清晰。android-35.zip文件通常位于类似https://mirrors.tuna.tsinghua.edu.cn/android/repository/platforms/android-35.zip的路径下(具体路径请以镜像站实时目录为准)。在访问时,你需要确认镜像站是否收录了你需要的版本。相比之下,直接搜索“android sdk 平台工具下载”得到的结果可能杂乱无章,且安全性无法保证,因此强烈建议使用知名镜像源。

操作心得:不要只下载android-35.zip。我建议同时下载对应的“系统映像”(如system-images;android-35;google_apis;x86_64对应的 ZIP 包),如果你需要创建该版本的模拟器的话。在镜像站,它们通常位于system-images目录下。一次性下载好,可以避免后续在 Android Studio 中创建 AVD 时再次触发下载。

3.2 本地 SDK 目录结构与手动安装步骤

假设你的 Android SDK 安装在D:\Android\Sdk(Windows)或~/Library/Android/sdk(macOS/Linux)。这个目录下有几个关键的子目录:

  • platforms/:存放所有已安装的 SDK Platforms,每个版本一个文件夹(如android-35/)。
  • platform-tools/:存放 adb, fastboot 等。
  • build-tools/:存放各个版本的构建工具。
  • system-images/:存放各个版本和ABI的系统映像。

手动安装android-35.zip的步骤:

  1. 关闭 Android Studio:确保没有进程正在使用 SDK 目录,否则可能导致文件被占用,解压失败。
  2. 定位目录:进入你的 SDK 根目录下的platforms文件夹。如果platforms文件夹不存在,就手动创建一个。
  3. 解压文件:将下载好的android-35.zip文件,直接解压到platforms文件夹内。正确的解压结果应该是:platforms/android-35/目录,并且在这个目录下能看到android.jarframework.aidldata/skins/等子目录和文件。
  4. 验证安装:重新打开 Android Studio,进入File > Settings > Appearance & Behavior > System Settings > Android SDK(或在欢迎界面点击More Actions > SDK Manager)。在SDK Platforms标签页中,找到Android 14.0 (API 35),它前面的复选框应该已经被勾选,并且状态显示为“Installed”

注意:手动解压时,最常见的错误就是多了一层目录。比如,解压后变成了platforms/android-35/android-35/...。请务必确保文件结构正确。你可以检查platforms/android-35/android.jar这个文件是否存在,这是最简单的验证方法。

3.3 疑难排查:“failed to create directory” 错误深度解决

“安装android sdk显示failed to create directory” 这个错误提示非常常见,其根源在于权限不足路径问题。SDK Manager 在安装组件时,需要在你指定的 SDK 目录下创建新的文件夹(如platforms/android-35),如果当前运行 Android Studio 的用户没有在该目录的写入权限,就会触发此错误。

解决方案(按尝试顺序):

  1. 以管理员/超级用户身份运行 Android Studio(仅限 Windows)。右键点击 Android Studio 图标,选择“以管理员身份运行”。这通常能解决大多数因权限导致的目录创建失败问题。
  2. 检查并修改 SDK 目录权限(macOS/Linux/Windows)。找到你的 SDK 安装目录,确保当前用户对其拥有完全的读写权限。在 Windows 上,可以右键属性 > 安全 > 编辑,为用户添加“完全控制”。在 macOS/Linux 上,可以在终端使用chmod命令。
  3. 更改 SDK 路径到一个简单的、无空格、无特殊字符的路径。例如,不要放在C:\Program Files\C:\Users\你的名字\Desktop\下,这些路径可能涉及系统保护或用户权限问题。可以尝试改为D:\Android\Sdk~/android-sdk
  4. 手动创建目标目录。有时错误信息会明确指出无法创建哪个目录(例如...\platforms\android-35)。你可以先关闭 Android Studio,然后手动在文件资源管理器中创建这个空目录,再重新打开 Android Studio 并尝试安装。这相当于提前为 SDK Manager 扫清了障碍。
  5. 终极方案:手动下载 ZIP 并解压。正如本章节所详述的,绕过 SDK Manager 的下载和安装流程,直接从镜像站下载android-35.zip,并手动解压到正确的platforms/目录下。这是最彻底、最可控的方法。

4. 在项目中配置与使用 android-35 平台

安装好平台只是第一步,更重要的是在项目中正确使用它。

4.1 Gradle 配置中的关键参数解析

在你的模块级build.gradle.kts(或build.gradle)文件中,有三个与 SDK 版本相关的关键配置,它们各自扮演着不同角色:

android { compileSdk = 35 // 或 compileSdkVersion 35 (Groovy DSL) defaultConfig { minSdk = 24 targetSdk = 35 // 或 targetSdkVersion 35 } }
  • compileSdk = 35:这是最重要的配置。它告诉 Gradle:“请使用android-35平台里的android.jar来编译我的代码。” 这意味着你在代码里可以调用 Android 14 (API 35) 的所有公开 API。它的值必须与你本地已安装的某个 SDK Platform 版本号一致。
  • targetSdk = 35:这个参数是面向运行时行为的。它告诉 Android 系统:“我的应用已经为 Android 14 (API 35) 做好了兼容性测试,请按照 Android 14 的行为模式来运行我。” 系统会根据这个值来决定启用或禁用哪些新版本的兼容性行为。例如,在 Android 14 上,针对targetSdk >= 34的应用有更严格的后台启动活动限制。你应该尽可能将其设置为最新的稳定版 API 级别,并充分测试。
  • minSdk = 24:这定义了应用支持的最低Android 版本。低于此版本的设备将无法在应用商店看到或安装此应用。它决定了你不能使用哪些高于此版本的 API。如果你在代码中使用了 API 35 的新特性,但minSdk低于 35,则必须在使用处进行运行时版本检查。

配置心得:我个人的习惯是,将compileSdktargetSdk设置为当前最新的稳定版本(如 35),以确保应用能用上新 API 并接受最新的系统行为检验。而minSdk则需要根据你的目标用户群体和设备统计数据来慎重决定,在功能覆盖面和开发成本之间取得平衡。

4.2 创建基于 API 35 的 Android 虚拟设备 (AVD)

如果你想在模拟器上测试 Android 14 的特性,就需要创建一个系统映像为 API 35 的 AVD。

  1. 在 Android Studio 中,打开Tools > Device Manager
  2. 点击Create device
  3. 选择一个硬件设备定义(如 Pixel 6),点击Next
  4. System Image选择页面,找到API 35相关的映像。如果你已经手动下载了系统映像 ZIP 包并解压到了system-images/目录下,这里就会显示出来,并且旁边会有一个“Download”图标(如果未安装)或显示版本信息(如果已安装)。选择你需要的映像变种(通常推荐带有Google PlayGoogle APIs的版本,以便测试 Google 服务)。
  5. 后续步骤按照向导完成即可。

踩坑记录:有时即使手动放置了系统映像文件,AVD Manager 仍然识别不到。这时需要检查system-images/android-35/目录下的结构是否正确,以及文件夹的权限。最笨但有效的方法是,通过 SDK Manager 图形界面触发一下该映像的安装,让它自己完成最后的校验和索引更新,即使文件已经存在。

4.3 使用新 API 与处理版本兼容性

假设 Android 14 (API 35) 引入了一个新的NotificationManager方法setNotificationPolicyForPackage。你可以在代码中直接使用,因为compileSdk是 35。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { // UPSIDE_DOWN_CAKE 是 API 35 的代号常量 // 安全地使用 API 35 的新方法 notificationManager.setNotificationPolicyForPackage(packageName, policy) } else { // 在旧版本上的回退方案 showToast("此功能需要 Android 14 或更高版本") }

这里的关键是Build.VERSION.SDK_INT这个运行时系统版本检查。永远不要依赖compileSdk来保护代码,因为它只影响编译期。必须在使用高版本 API 的地方加上这样的条件判断,否则应用在低版本系统上运行时会崩溃(NoSuchMethodErrorClassNotFoundException)。

5. 高级技巧与最佳实践

5.1 多版本 SDK Platform 的并行管理与切换

一个成熟的开发环境通常会安装多个版本的 SDK Platform。你可能需要同时维护一个面向 Android 11 (android-30) 的旧项目和一个面向 Android 14 (android-35) 的新项目。

  • 管理:通过 SDK Manager 可以方便地勾选安装多个版本。所有平台都会并排安装在platforms/目录下,互不干扰。
  • 切换:项目的 SDK 版本由compileSdktargetSdk控制。你只需要在项目的build.gradle文件中修改这两个值,Gradle 就会自动切换到对应的平台进行编译。Android Studio 会同步这些更改,并更新其代码补全、语法检查的依据。
  • 建议:即使你主要开发新版本应用,也建议保留最近几个旧版本(如 API 33, 34)。这样当需要为旧项目打补丁或复现一个仅出现在特定版本的问题时,可以快速切换,无需等待下载。

5.2 清理无效或冗余的 SDK 组件以释放空间

SDK 组件,尤其是系统映像,非常占用磁盘空间。一个android-35的 Google APIs 系统映像可能超过 1.5GB。定期清理十分必要。

  1. 在 SDK Manager 的SDK PlatformsSDK Tools标签页,取消勾选你确定不再需要的版本,然后点击ApplyOK,程序会提示你删除这些组件。
  2. 更直接的方法是手动浏览platforms/system-images/目录,删除整个不再需要的版本文件夹(如android-29/)。但在操作前,请确认没有任何项目依赖于此版本。
  3. 对于模拟器,每个创建的 AVD 也会在C:\Users\<用户名>\.android\avd\(Windows)或~/.android/avd/(macOS/Linux)下占用大量空间。可以在 Device Manager 中删除不再使用的 AVD 来释放空间。

清理心得:我通常会保留当前compileSdk版本、上一个版本,以及minSdk对应的版本。对于系统映像,只保留我当前正在使用的 AVD 所对应的那一个。通过这种方式,我的 SDK 目录大小可以控制在 20GB 以内,而不是轻易突破 50GB。

5.3 搭建团队内部统一的 SDK 镜像仓库

对于企业开发团队,让每个成员都从外网下载数 GB 的 SDK 是一种带宽和时间的浪费。搭建一个内部镜像站是提升效率的绝佳实践。

  1. 找一台内网可访问的服务器或 NAS。
  2. 使用wgetrsync定期从清华大学 TUNA 等公共镜像站同步你所需要的 SDK 组件目录(主要是repository/platforms/repository/system-images/)。
  3. 在团队内部共享这个内网地址。成员可以将 Android Studio 的 SDK Manager 的代理设置指向这个内网地址,从而实现极速下载。
  4. 更进一步,可以将手动下载好的、经过验证的android-35.zip等文件直接放在内网共享目录,新同事入职时直接拷贝,五分钟即可完成基础环境搭建。

这个做法不仅解决了下载慢的问题,也确保了团队所有成员使用的 SDK 组件版本完全一致,避免了“在我机器上是好的”这类环境差异问题。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 9:48:59

Python实现A*算法路径规划与动态可视化:从原理到实战

最近在开发一个物流配送模拟系统时&#xff0c;遇到了一个经典问题&#xff1a;如何高效、直观地模拟并展示从起点到终点的最优配送路线&#xff1f;这不仅仅是画一条线那么简单&#xff0c;它涉及到坐标转换、路径规划算法、以及动态可视化。本文将围绕“送镖给大大王”这个趣…

作者头像 李华
网站建设 2026/9/2 9:48:54

ESP32S3驱动ST7796 SPI屏与LVGUI实战:硬件连接、驱动配置与性能优化

简介&#xff1a;本资源是一套面向嵌入式开发初学者与物联网项目实践者的ESP32-S3图形界面入门工程&#xff0c;聚焦于3.5英寸ST7796 IPS显示屏&#xff08;320480&#xff09;与FT6336触控芯片的软硬件协同驱动&#xff0c;基于LVGL 8.x构建可交互GUI基础框架。资源共15个文件…

作者头像 李华
网站建设 2026/9/2 9:48:54

OpenClaw本地部署全流程:从模型配置到生产级排错

最近在 YouTube 的搜索趋势里&#xff0c;Grok Bot 的热度大幅超过了 OpenClaw。只看这个数据&#xff0c;很容易得出“Grok Bot 更值得关注”的结论。但对工程人员来说&#xff0c;搜索热度只能说明“很多人正在搜这个词”&#xff0c;并不能说明某个产品更好用&#xff0c;也…

作者头像 李华
网站建设 2026/9/2 9:48:11

基于Spark与KMeans的高校学生行为聚类分析实战

简介&#xff1a;本资源是一套面向大数据开发学习者与高校信息化分析人员的完整实战项目&#xff0c;聚焦高校学生行为分析场景&#xff0c;解决一卡通消费、图书借阅及图书馆门禁日志等多源异构数据的清洗、集成与聚类建模问题。项目基于Spark分布式计算框架与Scala函数式编程…

作者头像 李华
网站建设 2026/9/2 9:47:41

基于多源数据融合的老年人健康监测与预警小程序(毕设源码+文档)

温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台…

作者头像 李华