讲师中心 微信公众号
AI工具推荐 视频效率加速

Gradle构建Android项目提示SDK location not found怎么办

夏瑶姑娘_8342

夏瑶姑娘_8342

发布时间:2026-10-27 08:17:54

|

144人浏览过

|

来源于php中文网

原创

local.properties文件缺失或路径错误是最常见原因,需手动创建并正确配置sdk.dir路径(推荐正斜杠),同时确保ANDROID_HOME等环境变量不冲突,且该文件不可提交至Git。

gradle构建android项目提示sdk location not found怎么办

local.properties 文件缺失或路径写错

这是最常见原因:项目根目录下没有 local.properties,或者文件里写的 sdk.dir 路径根本不存在、拼错了、多了一个空格,或者用了反斜杠没转义(Windows 下写成 sdk.dir=C:Users ameAppDataLocalAndroidSdk 会报错,必须写成 sdk.dir=C:\Users\name\AppData\Local\Android\Sdk 或用正斜杠 sdk.dir=C:/Users/name/AppData/Local/Android/Sdk)。

实操建议:

Android SMS Gateway
Android SMS Gateway

自托管短信服务,使用 Android 手机作为网关提供 HTTP API,支持发送/接收短信,兼容主流短信网关。

下载
  • 先确认你本地 SDK 真实路径——打开 Android Studio → Preferences(macOS)或 Settings(Windows/Linux)→ Appearance & Behavior → System Settings → Android SDK,看右上角“Android SDK Location”显示的路径
  • 在项目根目录手动创建 local.properties 文件(不是 app/local.properties,也不是 gradle.properties)
  • 写入一行:sdk.dir=/your/actual/sdk/path(macOS/Linux)或 sdk.dir=C:/Users/xxx/AppData/Local/Android/Sdk(Windows,推荐正斜杠)
  • 保存后执行 ./gradlew clean 或在 Android Studio 里点击 “Sync Project with Gradle Files”

ANDROID_HOME 或 ANDROID_SDK_ROOT 环境变量干扰

Gradle Android 插件读取 SDK 路径的优先级是:local.properties > ANDROID_HOME > ANDROID_SDK_ROOT。如果你设了环境变量但路径不对,它会直接忽略 local.properties 里的配置,然后报错。

实操建议:

  • 终端运行 echo $ANDROID_HOME(macOS/Linux)或 echo %ANDROID_HOME%(Windows),检查是否意外设置了旧路径
  • 如果不需要环境变量兜底(比如只在本机开发),直接注释掉 ~/.zshrc、~/.bash_profile 或 系统环境变量 里的相关 export 行
  • 如果要用环境变量(如 CI 场景),确保 $ANDROID_HOME/platforms/android-34 这类目录真实存在;否则 Gradle 仍会失败,不只是“找不到 SDK”,而是“找不到对应 platform”

Android Studio 自动写入路径失败或路径被覆盖

新版 Android Studio(2023.2+)默认把 SDK 装到 ~/Library/Android/sdk(macOS)或 %LOCALAPPDATA%AndroidSdk(Windows),但老项目 local.properties 可能还写着 /usr/local/android-sdk 或 /opt/android-sdk。更隐蔽的是:某些插件或脚本(比如用 sdkmanager 升级后)可能偷偷重写 local.properties,把路径改成它认为“正确”的位置,结果反而指向一个空目录。

实操建议:

  • 不要依赖 Android Studio 自动创建 local.properties——它有时会写错,尤其在多 SDK 共存时
  • 每次换机器、重装 AS、或拉别人项目前,先删掉旧的 local.properties,再手动建一个,内容只有一行 sdk.dir= + 你当前确认有效的路径
  • 用 ls -la $sdk_path/platforms/(macOS/Linux)或 dir %sdk_path%platforms(Windows)验证 android-34、android-33 等目标平台是否存在;缺失的话,得进 SDK Manager 补装

Git 提交了 local.properties 导致路径冲突

local.properties 是典型的本地配置文件,绝对不该进 Git。但很多人 clone 项目后发现已有这个文件,就直接用了,结果里面写的路径是原作者电脑上的,跟你完全不匹配。

实操建议:

  • 检查项目根目录是否存在 local.properties,如果存在,先 cat local.properties(macOS/Linux)或 type local.properties(Windows)看内容
  • 如果路径明显不属于你本机(比如含 /home/john/... 或 C:UsersAlice...),立刻删掉它,再按第一部分重新创建
  • 确认项目根目录下的 .gitignore 是否包含 local.properties;如果没有,追加一行并提交(但别把已提交过的该文件再推上去)
  • CI 构建时更推荐用 ANDROID_SDK_ROOT + 镜像缓存,而不是靠 local.properties
真正容易被忽略的是:即使 sdk.dir 指向了正确目录,如果那个目录下缺了 platform-tools 或 build-tools/34.0.0,Gradle 同样会卡在“SDK location not found”这个错误提示里——它没说清楚到底是“路径不存在”,还是“路径下关键组件缺失”。验证时务必 cd 进去,手动 ls 一眼。

热门AI工具

更多
Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

相关专题

更多
android开发三大框架
android开发三大框架

android开发三大框架是XUtil框架、volley框架、ImageLoader框架。本专题为大家提供android开发三大框架相关的各种文章、以及下载和课程。

902

2023.08.14

android是什么系统
android是什么系统

Android是一种功能强大、灵活可定制、应用丰富、多任务处理能力强、兼容性好、网络连接能力强的操作系统。本专题为大家提供android相关的文章、下载、课程内容,供大家免费下载体验。

2707

2023.08.22

android权限限制怎么解开
android权限限制怎么解开

android权限限制可以使用Root权限、第三方权限管理应用程序、ADB命令和Xposed框架解开。详细介绍:1、Root权限,通过获取Root权限,用户可以解锁所有权限,并对系统进行自定义和修改;2、第三方权限管理应用程序,用户可以轻松地控制和管理应用程序的权限;3、ADB命令,用户可以在设备上执行各种操作,包括解锁权限;4、Xposed框架,用户可以在不修改系统文件的情况下修改应用程序的行为和权限。

5297

2023.09.19

android重启应用的方法有哪些
android重启应用的方法有哪些

android重启应用有通过Intent、PendingIntent、系统服务、Runtime等方法。本专题为大家提供Android相关的文章、下载、课程内容,供大家免费下载体验。

685

2023.10.18

Android语音播放功能实现方法
Android语音播放功能实现方法

实现方法有使用MediaPlayer实现、使用SoundPool实现两种。可以根据具体的需求选择适合的方法进行实现。想了解更多语音播放的相关内容,可以阅读本专题下面的文章。

964

2024.03.01

Java Maven/Gradle 构建与依赖管理合集
Java Maven/Gradle 构建与依赖管理合集

系统讲解 Java 项目构建工具的使用与进阶配置,涵盖 Maven 的 POM 文件结构、生命周期(clean/compile/package/install/deploy)与插件机制、依赖范围(compile/provided/test/runtime)与传递依赖管理、多模块聚合与继承、私有 Nexus 仓库发布,以及 Gradle 的 Groovy / Kotlin DSL 语法、Task 自定义与增量构建、依赖版本目录(Versi

369

2026.05.09

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

60

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

40

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

40

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Gradle 9 主版本升级指南
Gradle 9 主版本升级指南

共0课时 | 0人学习

Gradle 安全最佳实践
Gradle 安全最佳实践

共0课时 | 0人学习

Gradle 依赖校验手册
Gradle 依赖校验手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn