ChatGPT解决这个技术问题 Extra ChatGPT

未找到 SDK 位置。使用 local.properties 文件中的 sdk.dir 或使用 ANDROID_HOME 环境变量定义位置

我最近尝试导入从 Google 开发者网站下载的示例 Android 游戏。将它们导入 Android Studio 后,出现以下错误:

错误:未找到 SDK 位置。使用 local.properties 文件中的 sdk.dir 或使用 ANDROID_HOME 环境变量定义位置。

这是什么?我想从 Android Studio 运行示例程序。

对于未来的访问者,请检查此答案stackoverflow.com/a/56089502/7854303
这发生在我的第一个 hello world 中,即使 env 变量设置正确,我所做的是,在 android studio 中打开 android 文件夹并点击运行按钮(绿色播放图标)它工作,确保你的地铁在您执行此操作时正在运行,我认为它正在发生,因为我在安装后没有打开 android studio,当我在 andriod studio 中打开 android 文件夹时,我注意到它更新了一些东西,现在甚至 npm run android 工作正常

M
Marcel Hofgesang

请按照以下步骤对我有用:

转到您的 react-native 项目,然后转到 android 目录创建一个具有以下名称的文件:

本地属性

打开文件并粘贴您的 Android SDK 路径,如下所示:

对于 Windows 用户:

sdk.dir=C:\\Users\\UserName\\AppData\\Local\\Android\\sdk

将 UserName 替换为您的 PC 用户名。还要确保文件夹是 sdk 或 Sdk。在我的情况下,我的计算机用户名是 Zahid,所以路径如下所示:

sdk.dir=C:\\Users\\Zahid\\AppData\\Local\\Android\\sdk

对于 Mac 用户:

sdk.dir = /Users/USERNAME/Library/Android/sdk

其中 USERNAME 是您的 OSX 用户名。

对于 Linux (Ubuntu) 用户:

sdk.dir = /home/USERNAME/Android/Sdk

其中 USERNAME 是您的 linux 用户名(Linux 路径区分大小写:确保 Sdk 中的 S 大小写匹配)

如果这不起作用,请在“环境变量”中添加 ANDROID_HOME 变量作为 C:\Users\USER\AppData\Local\Android\Sdk

https://i.stack.imgur.com/LDiPS.png


我正在使用 open cv 我应该怎么做才能添加 NDK?
它有帮助。实际上,此解决方案在错误措辞本身中有所暗示。我在 Mac 上使用 IntelliJ,在项目结构中我有 SDK 正确的路径。那为什么我还需要在 local.properties 中呢?
如果您使用 eas buildexpo build 已被弃用),这将不再有效,您必须在 eas.json 中定义 env 变量,Android SDK 的路径也可能不同(我没有我的主目录中没有它)
O
OneCricketeer

项目可能缺少 settings.gradle 文件。确保该文件存在于您正在导入的项目中。如果不添加具有以下内容的 settings.gradle 文件:

include ':app'

保存文件并将其放在项目的顶级文件夹中。


如何判断我的项目是否缺少 settings.gradle?该文件通常存储在哪里?我在哪里输入 include ':app'include ':app' 究竟做了什么/产生了什么?您能否在答案中添加更多细节?
@TotZam 存储在项目的根目录中
找到了。谢谢。为了将来参考,我应该在哪里运行 include ':app'?我对 Android 很陌生,并试图找到自己的方式。
如果您使用的是 Android Studio,则无需运行 include :app,它允许 Android Studio 添加您的项目模块,以便您无需进一步配置即可运行它。在 settings.gradle 中添加该行后,您会注意到 Play 按钮在 gradle 完成构建和下载包后变为活动状态
如果您的项目文件夹名称不同,请将其替换为“app”。有用。
T
Tot Zam

我知道这个答案很晚,但我希望它对其他人有所帮助。

答案很简单。您只需将 local.properties 文件复制到存储项目的文件夹中,它就会像魅力一样工作。但请记住,它必须放在存储项目的根文件夹中。


但我必须每次都复制它?这似乎比正确的方法更像是一种技巧
它是解决此问题的最简单方法,因为您无需更改项目中的任何内容。还有其他解决方案,您必须更改代码,但我认为对于这样的问题,不能浪费太多时间。
它可以工作,但 Intelij 不应该自动生成它吗?谢谢!
这对我不起作用。该文件存在,但我仍然有错误
只需通过 android studio 打开 android 文件夹,当 android studio 打开 'android' 文件夹时,会自动创建 local.properties。
C
CuriousSuperhero

请遵循以下几点对我有用:

转到您的项目 - > Android 创建文件 local.properties 打开文件 根据操作系统粘贴您的 Android SDK 路径: 4.a Windows sdk.dir = C:/Users/USERNAME/AppData/Local/Android/sdk 4 .b Linux 或 MacOS sdk.dir = /home/USERNAME/Android/sdk 将 USERNAME 替换为您的用户名


现在评论为时已晚,但我想知道如何在 MacOS 中做到这一点?
在 MacOS 中,您需要执行相同的步骤,只需找到您的 Android SDK 文件路径并将其粘贴到 local.properties 文件中......就是这样
我刚刚去了 File > Project Structure,它说 SDK 位置不正确,并在 MacOS 上为我修复了它
在 Windows 中,它应该是这样的双斜杠 sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
S
Stephen Kennedy

签出你的 local.properties 文件

sdk.dir=C\:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk

正确编写此格式,并使用路径检查 / slas


我用这个 sdk.dir=C:\\Users\\sameer\\Android\\adt-bundle-windows-x86-20140702\\sdk 编辑了 local.properties,这里有任何错误
是的,在 C 放 \ ... Svae 之后,这个希望就完成了。 sdk.dir=C\:\\Users\\sameer\\Android\\adt-bundle-windows-x86-20140702\\sdk
这适用于日食。只需在下载的项目中创建文件 local.properties 并粘贴 sdk.dir 。就我而言,它是:“sdk.dir=C\:\\adt-bundle-windows-x86_64-20140321\\sdk”
如果有人在上述步骤后面临您尚未接受许可协议...错误,请参阅此处stackoverflow.com/a/41078173/1778834
我已经在我的 windows 10 m/c 上安装了 android,但是没有这样的文件夹 sdk.dir=C\:\\Users\\USERNAME\\AppData\\Local\\Android?
M
Michael Saffold

当您尝试从 ../app/build.gradle 文件导入 Android Studio 项目时会遇到此问题。

通过选择位于项目根目录中的 ../build.gradle 文件来导入项目。


M
Mjaustro

当您单击“运行应用程序”(绿色箭头)并在“编辑配置”对话框中获得以下信息时,这是一个解决该问题的方法:

错误:请选择 Android SDK

在 Android Studio 中,执行:

从菜单中,选择文件 > 设置。在设置对话框中,转到外观和行为 > 系统设置 > Android SDK。查看顶部的 Android SDK Location,然后单击 Edit 按钮 Hit Next, Next, Finish 接受默认值

这似乎将 SDK 位置(即使没有任何变化)保存到某个内部位置。我检查了 .idea.gradle 文件夹,但没有看到 Studio 做了什么来更改配置文件 - 但现在我可以运行应用程序了。

总结一下之前的修复——对于没有构建问题的 repo,这些通常是可以的:

local.properties 文件由 Studio 复制到根文件夹中。 local.properties 文件中的路径具有到 android SDK 的正确路径 - 在我的情况下,它是 sdk.dir=C:\\android\\sdk (请注意,此路径具有不同的格式 - Studio 应该为您基于 Android SDK 设置对话框中的文本输入字段) settings.gradle 文件存在于存储库中 - 并引用应用程序文件夹(通常为:app)


这是唯一帮助我的事情。第 3 步和第 4 步非常重要
这对我使用安装了 Android 支持的 IntelliJ 很有用。
这是答案兄弟。大起大落!
W
William Hu

我遇到了同样的问题,但有一点不同的错误信息

未找到 SDK 位置。使用 ANDROID_SDK_ROOT 环境变量或通过将项目本地属性文件中的 sdk.dir 路径设置为“xxx”来定义位置

MAC & ReactNative

添加local.properties

找到你的 Android SDK 位置 /Users/yourMacUserName/Library/Android/sdk 在 rootProject/android/local.properties 下创建 local.properties。在其中添加 sdk 路径 sdk.dir = /Users/yourMacUserName/Library/Android/sdk

这通常有效,但如果您与其他团队成员一起工作,那么 yourMacUserName 就不同了。

或者

设置 ANDROID_SDK_ROOT 变量

编辑您的 ~/.zshrc 或 ~/.bashrc 或 ... 添加 SDK 路径:export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk 打开一个新的终端选项卡或源 ~/.zshrc echo $ANDROID_SDK_ROOT 以测试打印正确的 SDK小路。

或者,您也可以添加路径 export PATH=${PATH}:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools 以使用一些有用的命令。


EAS 构建:在 build => 下使用 eas.json生产(或其他模式)确保您有 { "env": { "ANDROID_SDK_ROOT": "/your/path/to/androidSDK" }
P
Penny Liu

转到您的 React-native 项目 -> Android 创建一个文件 local.properties 打开文件粘贴您的 Android SDK 路径,如下所示 Windows sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\ \sdk in macOS sdk.dir = /Users/USERNAME/Library/Android/sdk in linux sdk.dir = /home/USERNAME/Android/Sdk 用您的用户名替换 USERNAME 现在,在您的系统中运行 react-native run-android终端

或者

有时项目可能缺少 settings.gradle 文件。确保该文件存在于您正在导入的项目中。如果不添加具有以下内容的 settings.gradle 文件:

include ':app'

保存文件并将其放在项目的顶级文件夹中。


g
gianlucaparadise

如果在拉取 react-native 项目的时候出现这个问题,只需要用 Android Studio 打开 android 项目即可。您需要的一切都会自动创建。

打开安卓工作室

文件 -> 打开

选择你的 react-native 项目文件夹下的 android 文件夹

等待 AndroidStudio 完成设置

您现在可以关闭 Android Studio

或者

如果您已安装 AndroidStudio command line launcher

在您的 react-native 根文件夹中运行它

studio android/

等待 AndroidStudio 完成设置

您现在可以关闭 Android Studio


这个答案被低估了。我现在来过这里两次,两次都解决了。多谢。
M
MHSFisher

在 Linux 中:

如果您已经下载了 android SDK 但找不到它。

问题可能是文件 local.properties 需要与 gradle 东西位于同一目录中,以便 gradle 在构建和运行 adb 时找到它。

对于使用 gradle 的 react-native 项目,我需要将 local.properties 文件放入 Myprojectname/android/ 文件夹。

因为我已将 SDK 解压缩到下载,所以我只需在文件中使用该路径,并使用如下行:

sdk.dir=/home/USER/Downloads/android-sdk-linux

m
mumair

我通过在 Windows 中创建 ANDROID_HOME 环境变量解决了这个问题,如下所示。

ANDROID_HOME=C:\Users\<user_name>\AppData\Local\Android\sdk

重新启动 Android Studio 它应该构建项目!


我已经有一个指向同一个目录的 ANDROID_SDK,所以对我来说它是 ANDROID_HOME=$ANDROID_SDK
N
Nate

如果您尝试运行 Google android 示例代码,请尝试导入整个存储库而不是单个示例。

这是 instructions.html,包含在 Google Calendar API sample code 中。

导入 calendar-android-sample 项目 选择“Import Project...”或 File > Import Project... 选择 [someDirectory]/google-api-java-client-samples/build.gradle 并单击 OK。注意:如果您尝试导入 [someDirectory]/google-api-java-client-samples/calendar-android-sample/build.gradle 将无法使用 [someDirectory] 的“Gradle home”选择“使用本地 gradle 分发” /gradle-2.2.1 并单击确定。


如果有人试图运行 facebook-android-sdk 中的样本之一,这个技巧可以帮助我运行它。仅加载其中一个示例不起作用。
A
Akshay Sharma

只需删除 .idea 文件夹并再次导入项目。它对我有用。


p
piet.t

这个错误没有一个单一的原因。

settings.gradle 可能丢失或其中的内容可能有误。 local.properties 可能丢失或 sdk 路径可能写错。


settings.gradle 文件中应该包含什么样的内容?
@cabanni settings.gradle 仅在您的应用程序中包含该模块。默认情况下,它将是“应用程序”模块。希望能帮助到你/
Z
Zeeshan Mehdi

我在颤振中遇到了这个错误,所以我通过转到 android->app->build.gradle 来修复它

并将 targetSdkVersion 从 28 更改为 29 并将 compileSdkVersion 从 28 更改为 29 它对我有用


T
TAHA SULTAN TEMURI

就我而言,我使用的是 linux 并在 local.properties 内的路径周围加上双引号,例如

sdk.dir = "/root/Android/Sdk/"
export ANDROID_SDK_ROOT = "/root/Android/Sdk/"

所以应该是

sdk.dir = /root/Android/Sdk/
export ANDROID_SDK_ROOT = /root/Android/Sdk/

和 .bash_profile

https://i.stack.imgur.com/HJb25.png


I
Ilker Baltaci

在项目的根目录中创建一个 local.properties 文件,内容如下

## This file is automatically generated by Android Studio.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Tue Oct 24 17:40:53 CEST 2017

sdk.dir=/Users/****/Library/Android/sdk

M
Muhaiminur Rahman

就我而言,我不得不关闭 Project 并再次打开。它工作得很好。像这样

关闭项目

https://i.stack.imgur.com/Brcpj.png

再次打开项目

https://i.stack.imgur.com/8EDWX.png


添加 sdk.dir 路径和 ~/.bashrc 后,没有任何效果。但是后来我关闭并再次打开它并且它起作用了。谢谢!
B
Bijendra Singh

遵循以下步骤:

在 'android' 文件夹下创建一个名为 'local.properties' 的文件 在文件 'local.properties' 中添加这一行作为 sdk.dir=/Users/bijendrasingh/Library/Android/sdk

在此处添加您的 android sdk 路径。


S
Stanley

将这两行放在您的 .bashrc 文件中并运行 source ~/.bashrc

export ANDROID_HOME=/Users/$USER/Library/Android/sdk export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

对于 linux,我这样做了。(对于第一行)

export ANDROID_HOME=/home/$USER/Android/Sdk

H
Hrishikesh Baidya

这个解决方案实际上对我有用.. 转到这台电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> 然后在系统变量中创建名称为 ANDROID_SDK_ROOT 和值 C:\Users{USERNAME( 将其替换为您的用户名的新变量}\AppData\Local\Android\Sdk

并确保是否启用了使用 USB 调试的真正 android 手机。 (很重要)

然后关闭 cmd 并重新启动它应该可以工作。


重启是关键。
A
Anubhav

可能有两种不同的可能性:

1)。您的 SDK 位置在 local.properites 文件中不正确。

2)。或者文件丢失,如果你已经克隆了一个项目,就会出现这种情况,所以只需在 Gradle Scripts 文件夹下创建一个 local.properites 文件,然后设置 sdk 路径。

像这样设置正确的 sdk 路径:

sdk.dir=YOUR_PATH_TO_THE_SDK

对于 mac 用户,路径应该是:

/Users/USER_NAME/Library/Android/sdk

对于 Windows 用户,路径应该是:

c:\Users\USER_NAME\AppData\Local\Android\Sdk 

A
Armen Hovhannisian

最好和最简单的方法是创建新的 Android 项目,将“app”文件夹从非工作项目移动到新创建的项目,并在新项目的 gradle 中添加所需的依赖项,一切都会完美运行)


这纠正了 mac High Serria 和 Windows 10 上的问题。答案很好,效率很高。
M
M. Palsich

新克隆存储库后出现此错误。我希望 local.properties 会自动生成,但事实并非如此。我能够通过重新导入 Gradle 项目来生成它。

File > Re-import Gradle Project

这有帮助。启动“重新导入 Gradle 项目”后,控制台打印了以下 2 个错误,这有助于我检测问题:发现无效的 Gradle JDK 配置,未指定项目 JDK。因此,在我修复了设置中的 JDK 路径后,一切都开始工作了。
修复 JDK 路径后,我还必须使用“File > Invalidate Caches / Restart ...”选项重新启动 IDE。
t
tim4dev

如果所有其他方法都失败,请将 local.properties 文件复制到项目目录的根目录。简单地。


t
touhid udoy

任何使用 Jenkins 的人都可能会觉得它有用

您需要使用 android sdk 的路径值定义一个全局变量名称 ANDROID_HOME

对于 mac,它是 /Users/YOUR_USER_NAME/Library/Android/sdk


J
Junius L.

对于 Mac/Linux 用户

您需要将 ANDROID_HOME 添加到您的路径,将以下内容添加到您的 .bashrc || .zshrc || .profile 文件

# change $HOME to the path where you installed android Sdk
export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools

然后运行

$ source ~/.bashrc || .zshrc || .profile

Environment variables in bash_profile or bashrc?

Difference between .bashrc and .bash_profile


S
Sharp

我有一种情况,我已经设置了 local.properties 文件,但我仍然收到此错误。事实证明,如果您的项目有子模块,您还必须将 local.properties 复制到子模块文件夹中。


工作解决方案:)
M
Max Droid

检查, 1. 在模块设置中,SDK 位置是否正确。 2. 如果是,请检查 local.properties 文件(不是放在应用程序模块内的文件,而是放在应用程序模块外的父级)。如果不存在,请在其中添加以下行。

sdk.dir=/path/to/sdk/../Android/Sdk