运行 `tns platform add android` 时找不到兼容的 Android SDK 进行编译

Cannot find a compatible Android SDK for compilation when running `tns platform add android`

我正在关注官方 NativeScript tutorial,但在为 android 开发配置 OS X 环境时遇到问题。

当 运行 tns platform add android 我收到以下错误:

Cannot find a compatible Android SDK for compilation. To be able to build for Android, install Android SDK 21 or later.

tns doctor 命令还 returns 关于 android-sdk 问题的警告:

Cannot find a compatible Android SDK for compilation. To be able to build for Android, install Android SDK 21 or later. Run $ android to manage your Android SDK versions. You need to have the Android SDK Build-tools installed on your system. You have to install version 22. Run "android" from your command-line to install required Android Build Tools. You need to have the latest Android Support Repository installed on your system. Run $ android to manage the Android Support Repository.

我的 android-sdk 安装如下:

我的.bash_profile还包括以下内容:

export ANDROID_HOME="/usr/local/Cellar/android-sdk/24.3.4/"

export PATH="$PATH:~/npm-global/bin:/usr/local/Cellar/android-sdk/24.3.4/tools:/usr/local/Cellar/android-sdk/24.3.4/platform-tools"

我是否应该更进一步尝试设置系统范围的环境变量 - 而不仅仅是为 .bash_profile?另外,我可能在设置过程中遗漏了一些东西......

关于如何调试这种情况(命令、配置文件等)的任何提示都很好,谢谢!

好的,所以您需要确保以下内容:

  • 确保您已安装 API 22。
  • 确保您已安装 Android SDK 构建工具 22.x.x。 (是的, 特别是 22.x.x)
  • 确保安装了 Android 支持存储库。 (你可以 在 Android SDK Manager 的 Extras 部分找到它)

执行上述步骤后,再次 运行 tns doctor,您应该会看到 No issues were detected 消息。

这是因为sudo。 root 用户没有设置 ANDROID_HOME

对于 Windows 用户:

  1. 运行 'android update sdk' 来自命令行
  2. Select Android 5.1.1(API22)
  3. Select 工具文件夹
  4. Select Extras 然后点击安装。

ps:- 添加此答案,以便任何登陆此页面的人都能看到它。

我从 Extras 安装 Android Support Repository 解决了这个问题。

  1. 检查ANDROID_HOME是否正常
  2. 安装 API 22 + 附加功能 > Android 支持存储库
  3. 运行以下

    • tns 平台删除android
    • tns平台添加android@next
  4. 运行

    tns 运行 android

那应该就可以了

在我的 windows 10 机器上,我必须打开文件资源管理器,右键单击这台电脑,然后转到左侧的属性,我必须转到高级设置。在底部,我单击环境变量,然后在 android_home 变量上单击编辑,然后将其指向我机器上安装了 sdk 的路径 C:\Program 文件 (x86)\Android\android-sdk

AndroidStudio >> Preferences 中更新 SDK 会有所帮助

此答案来自 Linux,而非 OSX 平台。但是,由于这是列出的错误最常出现的 SO,我将分享最近对我有用的修复程序。

如果您已完成上述所有操作但仍出现错误,请尝试此解决方案。

我正在使用 NativeScript 8.0.2。

如果您可以 运行 命令 $ANDROID_HOME/tools/bin/sdkmanager --list,您将知道 ANDROID_HOME 和 Java 配置正确。如果 失败 ,则首先检查您的 Java 是否兼容(我必须添加 OpenJDK 8 并使用 export JAVA_HOME="/usr/lib64/jvm/java-1.8.0/" 更改我的路径)

Android Studio 中,添加以前的构建工具版本。转到您的 SDK 管理器 > SDK 工具,勾选底部框“显示包详细信息”,然后添加以前的版本。在我的例子中,31.0.0 是最新的,我添加了 30.0.3。现在再次 运行 ns doctor android,一切都会过去。

似乎 31.0.0 尚未被 Native Script 正确识别。

我总是收到错误消息“✖ 找不到兼容的 Android SDK 进行编译。要能够为 Android 构建,请安装 Android SDK 28 或更高版本。”

实际上,我必须转到 android 工作室设置并安装准确的 SDK 28 才能解决此错误。 Android Settings Pic