442

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

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

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

4

47 回答 47

549

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

  • 转到您的 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 路径区分大小写:确保Sin的大小写Sdk匹配)

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

在此处输入图像描述

于 2018-01-08T18:09:42.307 回答
271

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

include ':app'

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

于 2016-02-29T14:53:49.263 回答
171

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

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

于 2016-05-21T16:10:05.813 回答
65

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

  1. 去你的Project -> Android
  2. 创建文件local.properties
  3. 打开文件
  4. 根据操作系统粘贴您的 Android SDK 路径:

    4.一个窗口

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

    4.b Linux 或 MacOS

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

    替换USERNAME为您的用户名

于 2017-07-12T11:32:25.120 回答
50

签出你的 local.properties 文件

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

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

于 2014-12-23T12:43:30.637 回答
45

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

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

于 2017-11-22T14:50:48.340 回答
40

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

错误:请选择 Android SDK

在 Android Studio 中,执行:

  1. 从菜单中选择File > Settings
  2. 在设置对话框中,转到Appearance & Behavior > System Settings > Android SDK
  3. 查看顶部的Android SDK Location,然后单击Edit按钮
  4. 点击下一步,下一步,完成以接受默认值

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

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

  • local.properties文件由 Studio 复制到根文件夹中。

  • local.properties文件中的路径具有 android SDK 的正确路径 - 在我的情况下是sdk.dir=C:\\android\\sdk (请注意,此路径具有不同的格式 - Studio 应根据 Android SDK 设置中的 Text Entry 字段为您编写此文件对话)

  • settings.gradle文件存在于 repo 中 - 并引用应用程序文件夹(通常是:app)

于 2017-08-24T15:38:15.177 回答
35

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

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

MAC & ReactNative

添加local.properties

  1. 查找您的 Android SDK 位置

    /Users/yourMacUserName/Library/Android/sdk
    
  2. 在. local.properties_rootProject/android/local.properties

  3. 在其中添加 sdk 路径

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

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

或者

设置ANDROID_SDK_ROOT变量

  1. 编辑您的~/.zshrc~/.bashrc或...
  2. 添加 SDK 路径:

    export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
    
  3. 打开一个新的终端选项卡或source ~/.zshrc
  4. echo $ANDROID_SDK_ROOT测试打印正确的 SDK 路径。

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

于 2019-09-03T03:49:41.003 回答
21
  1. 转到您的 React-native 项目 -> Android

  2. 创建文件 local.properties

  3. 打开文件

  4. 粘贴您的 Android SDK 路径,如下所示

     in 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
    
  5. 将 USERNAME 替换为您的用户名

  6. 现在,react-native run-android在终端中运行

或者

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

include ':app'

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

于 2019-08-31T11:41:28.017 回答
20

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

  • 打开安卓工作室
  • 文件 -> 打开
  • 选择android你的 react-native 项目文件夹下的文件夹
  • 等待 AndroidStudio 完成设置
  • 您现在可以关闭 Android Studio

或者

如果您已经安装了AndroidStudio 命令行启动器

  • 在您的 react-native 根文件夹中运行它
studio android/
  • 等待 AndroidStudio 完成设置
  • 您现在可以关闭 Android Studio
于 2019-05-11T10:38:21.680 回答
14

在 Linux 中:

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

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

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

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

sdk.dir=/home/USER/Downloads/android-sdk-linux
于 2016-05-03T10:58:32.830 回答
12

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

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

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

于 2017-04-27T13:10:02.207 回答
10

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

这是Instructions.html,包含在Google 日历 API 示例代码中。

  • 导入 calendar-android-sample 项目
  • 选择“导入项目...”或文件 > 导入项目...
  • 选择 [someDirectory]/google-api-java-client-samples/build.gradle 并单击确定。
    • 注意:如果您尝试导入 [someDirectory]/google-api-java-client-samples/calendar-android-sample/build.gradle,它将不起作用
  • 在 [someDirectory]/gradle-2.2.1 的“Gradle home”中选择“使用本地 gradle 分发”,然后单击“确定”。
于 2016-05-08T05:46:59.507 回答
7

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

于 2017-03-28T07:07:22.977 回答
7

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

  1. settings.gradle可能丢失或其中的内容可能是错误的。
  2. local.properties可能会丢失或 sdk 路径可能写错了。
于 2017-05-11T05:15:43.987 回答
6

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

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

于 2020-10-27T05:34:26.777 回答
5

就我而言,我使用的是 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

在此处输入图像描述

于 2020-09-19T20:30:11.770 回答
4

在项目的根目录中创建一个 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
于 2017-10-24T20:31:18.587 回答
4

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

关闭项目

在此处输入图像描述

再次打开项目

在此处输入图像描述

于 2019-07-25T07:34:49.617 回答
4

遵循以下步骤:

  1. 在“android”文件夹下创建一个名为“local.properties”的文件

  2. 在文件'local.properties'中添加这一行作为

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

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

于 2021-02-16T06:28:14.200 回答
3

将这两行放在您的 .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
于 2018-10-14T05:38:56.800 回答
3

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

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

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

于 2019-07-17T16:16:19.843 回答
3

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

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 
于 2021-05-19T10:41:43.083 回答
2

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

于 2018-03-12T16:51:19.967 回答
2

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

File > Re-import Gradle Project
于 2019-02-20T15:40:02.313 回答
2

如果一切都失败了,请将local.properties文件复制到项目目录的根目录。简单地。

于 2019-02-21T07:38:36.813 回答
2

对于 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

bash_profile 或 bashrc 中的环境变量?

.bashrc 和 .bash_profile 之间的区别

于 2019-06-17T09:11:17.847 回答
1

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

sdk.dir=/path/to/sdk/../Android/Sdk
于 2017-04-24T06:52:53.723 回答
1

为我找到了可行的解决方案。无需添加 local.properties 并设置 ANDROID_HOME 变量。似乎是 Android Studio 和 Intellij IDEA 中的一个错误。您只需要让 IDE “重置” Android SDK 的路径。 尽管环境变量设置正确,但在 Android Studio 中找不到“SDK 位置”

于 2017-08-03T09:25:57.780 回答
1

我也找到了我的解决方案。我只是同步 Gradle 我有所有文件夹 ( settings .gradle,..) 但我遇到了这个错误.. 我只是运行Sync Project With Gradle File和编辑然后没SdkLocation问题...

于 2018-09-30T09:54:35.813 回答
1

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

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

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

于 2019-03-31T07:51:45.323 回答
1

我在想你的 setting.gradle 文件丢失了。将此文件复制到另一个项目并粘贴您的项目。我认为它会起作用。

在 setting.gradle 文件中,

include ':app'

就这样。祝你有美好的一天。

于 2019-07-30T14:52:28.983 回答
1

对我来说,问题是我在全新安装 android studio 后没有创建任何虚拟设备。因此,expo 一直含糊地抱怨 sdk 的位置,而主要问题是缺少虚拟设备。希望这对将来的某人有所帮助,让我搜索了几个小时。

PS:在这里你可以找到如何创建一个 https://developer.android.com/studio/run/managing-avds

于 2020-02-07T20:00:55.353 回答
1
  1. cd ./android, 创建文件文件local.properties

  2. 粘贴此代码sdk.dir=C\:\\Users\\muhammad ali\\AppData\\Local\\Android\\Sdk

  3. 根据您的 sdk 所在位置更改位置。你已经有local.properties文件了,很好

  4. 找到类似的代码文件sdk.dir=C\:\\Users\\muhammad ali\\AppData\\Local\\Android\\Sdk

  5. 根据您的 sdk 所在位置更改位置

  6. npx react-native run-android

于 2021-03-31T08:28:35.447 回答
1

我遇到的问题local.properties是提交到 git 存储库中,即使它明确表示不要这样做## This file must *NOT* be checked into Version Control Systems,

为了在 MacOS 上本地解决问题,我只是去File > Project Structure...了 Android Studio 并自动修复了它。

为了解决 git 中的问题,我在项目根目录中执行了以下命令:

echo -e "\nlocal.properties" >> .gitignore
git add .gitignore
git rm local.properties --cached
git commit -m "Removed local.properties from the git"
于 2021-04-10T05:20:28.483 回答
1

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

于 2021-09-13T15:19:08.917 回答
1
  • 第一种情况:-

在您的项目中查找 local.properties 文件并设置 sdk 路径。

  • 第二种情况:-

如果您没有,则从其他项目复制并根据您的 sdk 路径进行设置。

于 2021-12-01T06:59:56.437 回答
0

当我从 Github 克隆我的 repo 并运行时,我刚刚遇到了这个问题./gradlew clean assembleDebug。我确认我的 .bashrc 文件中有 ANDROID_HOME。

因此,我将项目导入 Android Studio。注意到我的 settings.gradle 文件的扩展名是.kts, settings.gradle.kts。当我完成导入后,我跑了./gradlew clean assembleDebug,没有遇到任何问题。

于 2018-02-05T03:46:42.183 回答
0

我试过了

sdk.dir = \Users\OLUWAGBEMIGA\AppData\Local\Android\sdk 

它起作用了,我只是将它粘贴到项目文件夹和外部。

在环境变量中我也使用了上面的sdk链接和名称ANDROID_HOME作为路径名。关闭一切重新打开,Cabom 一切正常

于 2018-03-14T23:22:57.237 回答
0

在我的情况下,我找不到错误 sdk 位置

我做了什么:我从git去克隆的项目打开项目目录打开项目里面的app目录复制local.properties文件然后粘贴到项目目录然后它工作

于 2020-05-12T15:39:23.663 回答
0

对我来说,这个问题是由“打开现有项目”而不是“导入”打开克隆项目引起的。

下载的项目中已经存在“setting.gradle”文件。但是,Android Studio 不会使用“打开现有项目”选项来获取它,只有“导入”才会强制 Android Studio 解释整个项目设置。

M.Palsich 的回答中隐含地提到了同样的想法。

于 2020-06-25T14:33:29.597 回答
0

当我检查一些在 Android 目录中创建 local.properties 文件并写入路径时仍然出现错误。您收到错误的原因是因为写入路径中存在拼写错误。

于 2021-04-15T19:38:32.520 回答
0
  1. 转到本地属性文件

  2. 检查 Sdk 位置(如果您已使用其他用户的 Sdk 位置导入文件,则可能已更改,找到您的并正确处理,就是这样)。

于 2021-05-08T10:18:31.177 回答
0

打开 Android Studio,转到 File 菜单并选择 File Structure 并使用您在“app/build.gradle”文件中定义的 compileSdkVersion 或 targetSdkVersion 指定一个 SDK。

于 2021-09-14T17:58:47.217 回答
0

如果您使用的是 Flutter,您显然会尝试将名称从 Androidmainfest.xml 更改为旧名称,但不要将其更改回旧名称,一些包会在 pub.dev 中帮助您

于 2021-10-29T19:45:51.860 回答
0

我通过文件/无效缓存/重新启动解决了该问题,然后在出现错误提示时单击设置 SDK ....。

于 2022-01-15T14:17:31.310 回答
-1

要知道你目录中的确切 sdk 文件,到 android studio,选择 tools>sdk

只需复制并确保它在您的路径中有双 // 。

希望它可以帮助

于 2020-09-03T07:36:07.323 回答