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

Posted

技术标签:

【中文标题】运行`tns platform add android`时找不到兼容的Android SDK进行编译【英文标题】:Cannot find a compatible Android SDK for compilation when running `tns platform add android` 【发布时间】:2015-12-19 20:05:23 【问题描述】:

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

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

找不到兼容的 Android SDK 进行编译。为了能够为 Android 构建,请安装 Android SDK 21 或更高版本。

tns doctor 命令还会返回有关 android-sdk 问题的警告:

找不到兼容的 Android SDK 进行编译。有能力去 为 Android 构建,安装 Android SDK 21 或更高版本。运行$ android 到 管理您的 Android SDK 版本。你需要有 Android SDK 安装在您的系统上的构建工具。您必须安装版本 22。 从命令行运行“android”以安装所需的 Android Build 工具。您需要拥有最新的 Android 支持存储库 安装在您的系统上。运行$ android 管理Android 支持存储库。

我的 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?另外,我可能在设置过程中遗漏了一些东西......

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

【问题讨论】:

我也有同样的情况。解决此问题后,我将在此处更新。 【参考方案1】:

好的,所以你需要确保以下几点:

确保您已安装 API 22。 确保您已安装 Android SDK Build Tools 22.x.x。 (是的, 特别是 22.x.x) 确保您已安装 Android 支持存储库。 (你可以 在 Android SDK 管理器的 Extras 部分中找到它)

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

【讨论】:

谢谢!是的,tns 错误消息令人困惑,因为它说:To be able to build for Android, install Android SDK 21 or later,但它还专门询问version 22 SDK,我忽略了这一点,因为我已经有了更新的(v24)版本安装。一旦我从 Extras 安装了 SDK 22 和 Support Repository,它就可以正常工作了。 我已按照这些说明进行操作,并且一直收到相同的消息,我已安装 API 22 安装了构建工具 22.0.1 并安装了支持存储库 24... 哎呀。我错过了 android_home 我遇到了同样的问题,但它与 SDK 管理器中未显示的“构建工具”有关。我按照 NativeScript 的教程说明进行操作,特别是使用巧克力来获取“android-sdk”是我的问题。我决定通过 Android Studio 下载 sdk 并解决了问题。 嗯,这个答案不包括基本的Android教程。【参考方案2】:

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

【讨论】:

这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post。 - From Review 虽然我的英文很烂,但这是正确答案,我是通过实际测试的。 运行 sudo echo $ANDROID_HOME 仍然给出我的 sdk 的位置。这并不能解决问题【参考方案3】:

对于 Windows 用户:

    从命令行运行“android update sdk” 选择Android 5.1.1(API22) 选择工具文件夹 选择 Extras 并点击 Install。

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

【讨论】:

【参考方案4】:
    检查ANDROID_HOME是否正常 安装 API 22 + ion the Extras > Android 支持存储库

    运行以下命令

    tns 平台删除 android tns 平台添加 android@next

    运行

    tns 运行安卓

那应该没问题

【讨论】:

【参考方案5】:

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

【讨论】:

【参考方案6】:

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

【讨论】:

【参考方案7】:

AndroidStudio >> Preferences更新SDK会有帮助

【讨论】:

【参考方案8】:

这个答案是在 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/" 更改我的 PATH)

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

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

【讨论】:

以上是关于运行`tns platform add android`时找不到兼容的Android SDK进行编译的主要内容,如果未能解决你的问题,请参考以下文章

ionic platform add ios, Error:spawn EACCES

cordova platform add android报错问题处理

Error: failed to fetch platform android

Platform Bus

ionic cordova platform add android 错误:源路径不存在:resources/android/icon/drawable-hdpi-icon.png

ORA-12514: TNS:listener does not currently know of service requested in connect descriptor