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


271

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

错误:找不到SDK位置。使用sdk.dirlocal.properties文件或ANDROID_HOME环境变量定义位置。

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



Answers:


245

请按照以下步骤为我工作:

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

local.properties

  • 打开文件,然后粘贴您的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

enter image description here


我正在使用开放式简历,我应该怎么做才能添加NDK?
天真的

它有帮助。实际上,错误措辞本身暗示了这种解决方案。我在Mac上使用IntelliJ,在项目结构中,我具有SDK正确的路径。那为什么我仍然需要在local.properties中呢?
Alexei Martianov

244

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

include ':app'

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


16
如何判断我的项目是否丢失settings.gradle?该文件通常存储在哪里?我在哪里打字include ':app'?究竟include ':app'产生/产生了什么?您能否在答案中添加更多详细信息?
Tot Zam

1
@TotZam将其存储在您项目的根目录中
Joseph

2
找到了。谢谢。供将来参考,我将在哪里运行include ':app'?我对Android还是很陌生,并试图找到解决方法。
Tot Zam

2
你不跑include :app,如果你使用的是Android的工作室,可以让Android Studio中添加项目模块,这样你就可以无需再另行配置运行它。在添加行之后,settings.gradle您将注意到Playgradle完成构建和下载软件包后,按钮变为活动状态
Joseph

1
如果您的项目文件夹名称不同,请放置它而不是“ app”。有用。
Priyank Patel

158

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

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


3
但是我每次都要复制吗?这似乎是正确的做法,而不是正确的做法
pblead26 '16

这是解决此问题的最简单方法,因为您无需在项目中进行任何更改。还有其他解决方案,您必须在其中进行代码更改,但是我认为对于这种问题,人们不能浪费很多时间。
严密的米塔尔

下载ExoPlayer 2.1之后遇到此问题时,这对我有用。
user1147171 2016年

2
它可以工作,但是Intelij不应该自动生成吗?tks!
cesarsicas

4
这对我不起作用。该文件存在,但是我仍然有错误
-Rommex

42

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

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


39

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

  1. 去你的 Project -> Android
  2. 建立档案 local.properties
  3. 开启档案
  4. 根据操作系统粘贴您的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中进行评论?
Nauman Moazzam,

在MacOS中,您需要执行相同的过程,只是需要找到您的Android SDK文件路径并将其粘贴到local.properties文件中……就这样
Shuvo

37

在您的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,此过程中发生了任何错误
Sameer Shamsudeen 2014年

是的,C放了之后,…就完成了这个希望。sdk.dir = C \:\\ Users \\ sameer \\ Android \\ adt-bundle-windows-x86-20140702 \\ sdk
Qutbuddin Bohra 2014年

与eclipse搭配使用效果很好。只需在下载的项目中创建文件local.properties并粘贴sdk.dir即可。在我的情况下,它是:“ sdk.dir = C \:\\ adt-bundle-windows-x86_64-20140321 \\ sdk”
George Papatheodorou

如果面对您的任何人都没有接受许可协议...在上述步骤之后出现错误,请参见此处stackoverflow.com/a/41078173/1778834
yashhy

我已经在Windows 10 m / c上安装了android,但没有这样的文件夹sdk.dir = C \:\\ Users \\ USERNAME \\ AppData \\ Local \\ Android?
罗汉·加拉

27

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

错误:请选择Android SDK

在Android Studio中,执行以下操作:

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

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

并总结以前的修补程序-对于没有构建问题的回购,通常可以使用以下修补程序:

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

  • 在路径local.properties文件具有正确的路径到Android SDK -在我的情况下,sdk.dir=C:\\android\\sdk (注意,该路径有不同的格式-工作室应基于在Android SDK中设置文本输入字段写入该文件给你对话)

  • 仓库中存在settings.gradle文件-并引用应用程序文件夹(通常为:app)


3
这是唯一帮助我的事情。步骤#3和#4非常重要
soshial

16

如果在拉动本机项目时遇到此问题,则只需使用Android Studio打开android项目。您需要的所有内容都会自动创建。

  • 开启Android Studio
  • 文件->打开
  • 选择android您的本机项目文件夹下的文件夹
  • 等待AndroidStudio完成设置
  • 您现在可以关闭Android Studio

要么

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

  • 在您的本机根文件夹中运行此命令
studio android/
  • 等待AndroidStudio完成设置
  • 您现在可以关闭Android Studio

1
它对我
有用

12

在Linux中:

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

问题可能是,在构建和运行adb时,该文件local.properties必须与gradle用于gradle查找该文件的目录位于同一目录中。

对于我的本机反应项目,gradle我需要将local.properties文件放入文件Myprojectname/android/夹。

由于我已将SDK压缩为Downloads,因此我只在文件中使用该路径,如下所示:

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

11

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

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

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


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

10

我遇到了相同的问题,但有一点不同的错误消息是

找不到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. 编辑您的~/.zshrcor ~/.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


9

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

这是Google Calendar API示例代码随附的Instructions.html中的相关部分

  • 导入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”中选择“ Use local gradle distribution”,然后单击“确定”。

6

没有单一原因导致此错误。

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

1
settings.gradle文件应包含哪种内容?
cabanni '18

@cabanni settings.gradle仅将模块包含在您的应用程序中。默认情况下,它将是“ app”模块。希望对您
有所


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

4
  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'

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


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

2

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


这可以纠正Mac High Serria和Windows 10上的问题。出色的答案和高效的解决方案。
Val

2

如果所有其他方法均失败,则将local.properties文件复制到项目目录的根目录。只是。



2

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

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

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


2

就我而言,我必须关闭Project并再次打开。工作正常。像这样

结束专案

在此处输入图片说明

并再次打开项目

在此处输入图片说明


将sdk.dir路径也添加到〜/ .bashrc之后,没有任何效果。但是后来我又关闭又重新打开,它起作用了。谢谢!
grc


1

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

File > Re-import Gradle Project

这有帮助。启动“重新导入Gradle项目”后,以下两个错误被打印到控制台,这有助于我检测到此问题:找到无效的Gradle JDK配置未指定Project JDK。因此,在我修复“设置”中的JDK路径后,一切都开始工作。
Michal Vician

修复JDK路径后,我还必须使用“文件>无效的缓存/重新启动...”选项重新启动IDE。
Michal Vician

1

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

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

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


1

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

在setting.gradle文件中,

include ':app'

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



0

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

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

0

当我从Github复制回购文件并运行时,我只是遇到了问题./gradlew clean assembleDebug。我确认我的.bashrc文件中有ANDROID_HOME。

因此,我将该项目导入了Android Studio。我settings.gradle文件中注意到,扩展.ktssettings.gradle.kts。当我完成导入操作后,我就跑了./gradlew clean assembleDebug,没有任何问题。


0

我试过了

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

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

在环境变量中,我还使用了上面的sdk链接,并将名称ANDROID_HOME用作路径名。关闭所有内容重新打开,Cabom全部正常

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.