Appcelerator无法检测到Android SDK API。

5
当我尝试通过Appcelerator CLI构建我的应用程序的Android版本时,出现以下错误:[ERROR] Target Android SDK API 23 is not installed
我已经安装了Android SDK API 23,但是当我运行appc ti info -t android时,Titanium似乎无法识别已安装的目标。
Appcelerator命令行界面,版本6.0.0
版权所有(c)2014-2017,Appcelerator公司。保留所有权利。
Android SDK
  Android可执行文件          = /Users/Shared/Jenkins/Library/Android/sdk/tools/android
  ADB可执行文件              = /Users/Shared/Jenkins/Library/Android/sdk/platform-tools/adb
  SDK路径                    = /Users/Shared/Jenkins/Library/Android/sdk
Android NDK
  NDK路径                    = /Users/Shared/Jenkins/Library/Android/sdk/ndk-bundle
  NDK版本                   = 14.1.3816874
Android平台
  无
Android附加组件
  无
Android模拟器
  无
Genymotion模拟器
  无
连接的Android设备
  无
问题
  没有检测到任何问题!您的开发环境应该完美地工作!
sdkmanager --list的输出结果。
devbuild1:bin jenkins$ ./sdkmanager --list 警告:无法加载文件 /Users/Shared/Jenkins/.android/repositories.cfg。 已安装的包: 路径 | 版本 | 描述 | 位置 ------- | ------- | ------- | ------- add-ons;addon-g..._apis-google-15 | 3 | Google API | add-ons/addon-g...apis-google-15/ add-ons;addon-g..._apis-google-16 | 4 | Google API | add-ons/addon-g...apis-google-16/ add-ons;addon-g..._apis-google-17 | 4 | Google API | add-ons/addon-g...apis-google-17/ add-ons;addon-g..._apis-google-18 | 4 | Google API | add-ons/addon-g...apis-google-18/ add-ons;addon-g..._apis-google-19 | 20 | Google API | add-ons/addon-g...apis-google-19/ add-ons;addon-g..._apis-google-21 | 1 | Google API | add-ons/addon-g...apis-google-21/ add-ons;addon-g..._apis-google-22 | 1 | Google API | add-ons/addon-g...apis-google-22/ add-ons;addon-g..._apis-google-23 | 1 | Google API | add-ons/addon-g...apis-google-23/ add-ons;addon-g..._apis-google-24 | 1 | Google API | add-ons/addon-g...apis-google-24/ build-tools;25.0.2 | 25.0.2 | Android SDK 构建工具 25.0.2 | build-tools/25.0.2/ emulator | 26.0.0 | Android 模拟器 | emulator/ extras;android;m2repository | 47.0.0 | Android 支持库 | extras/android/m2repository/ extras;google;m2repository | 46 | Google 仓库 | extras/google/m2repository/ ndk-bundle | 14.1.3816874| NDK | ndk-bundle/ patcher;v4 | 1 | SDK 补丁应用程序 v4 | patcher/v4/ platform-tools | 25.0.4 | Android SDK 平台工具 | platform-tools/ platforms;android-14 | 4 | Android SDK 平台 14 | platforms/android-14/ platforms;android-15 | 5 | Android SDK 平台 15 | platforms/android-15/ platforms;android-16 | 5 | Android SDK 平台 16 | platforms/android-16/ platforms;android-17 | 3 | Android SDK 平台 17 | platforms/android-17/ platforms;android-18 | 3 | Android SDK 平台 18 | platforms/android-18/ platforms;android-19 | 4 | Android SDK 平台 19 | platforms/android-19/ platforms;android-20 | 2 | Android SDK 平台 20 | platforms/android-20/ platforms;android-21 | 2 | Android SDK 平台 21 | platforms/android-21/ platforms;android-22 | 2 | Android SDK 平台 22 | platforms/android-22/ platforms;android-23 | 3 | Android SDK 平台 23 | platforms/android-23/ platforms;android-24 | 2 | Android SDK 平台 24 | platforms/android-24/ platforms;android-25 | 3 | Android SDK 平台 25 | platforms/android-25/ sources;android-15 | 2 | Android 15 源码 | sources/android-15/ sources;android-16 | 2 | Android 16 源码 | sources/android-16/ sources;android-17 | 1 | Android 17 源码 | sources/android-17/ sources;android-18 | 1 | Android 18 源码 | sources/android-18/ sources;android-19 | 2 | Android 19 源码 | sources/android-19/

请检查 ti config android。它应该显示 android.buildTools.selectedVersion,该版本指向您的 buildTools 版本。我正在使用 25.0.1,但我也安装了 23.0.3。 - miga
@miga,我已经检查了android.buildTools.selectedVersion,它是25.0.2,这也是我已安装的版本。 - user7581786
你尝试安装了buildTools 23.0.3吗? - miga
3个回答

2
在使用Appcelerator时,不建议使用已安装在其他环境中的Android SDK,而是应该设置一个仅包含从Appcelerator Studio下载的API 23的临时Android SDK供Appcelerator使用。根据我的经验,给Titanium提供一个为其他目的(例如Android native、Ionic或Xamarin)下载的SDK通常不是一个好主意。
请参考以下链接中的图像以配置Appcelerator Studio Android SDK:Appcelerator Studio Android SDK config

2
我已经为这个问题苦苦挣扎了大约2天,幸亏Mauro提供的解决方案(我会将其标记为正确的)最终能够解决它。以下是我猜测发生的事情。在2017年3月1日之前,我能够成功地使用appc命令构建和运行通过Android Studio下载的Appcelerator应用程序。大约3天前,我进行了Android Studio的过期更新(可能也更新了SDK),无法再在命令行上构建。

显然,在3月1日,Google更新了Android SDK,以“废弃”android CLI工具,即完全破坏它,这显然影响了许多依赖它的构建工具,如Unity,Ionic等,我猜也包括Appcelerator。

https://code.google.com/p/android/issues/detail?id=235455&sort=-id&colspec=ID%20Status%20Priority%20Owner%20Summary%20Stars%20Reporter%20Opened

到目前为止,我找到的唯一解决方法是使用Appcelerator Studio提供的Android SDK,而不是由Android Studio或brew安装的SDK,因为在更新之前,android命令类似的工具不再像预期的那样工作。

我曾经犯过一个错误,就是在Android Studio中使用相同的SDK。如果我没有记错,在更新了SDK之后,我遇到了Proguard的问题。现在,无论我使用什么(Titanium、Xamarin、Android等),我都会尽量保持各种SDK分开。我知道这可能浪费空间,但大多数情况下,你只需要一个或两个API来进行IDE开发,所以舍弃一些GB是节省时间的好投资 :) - Mauro Piccotti
这个问题在https://jira.appcelerator.org上已经有了吗?我再次感觉Appcelerator并没有把Android视为重点,否则就应该早就看到这个问题了。 - sschueller

2

我几天前也遇到了同样的问题。解决方法是下载 24.4.1 版本的 SDK 并替换我的路径中下载的工具文件夹:“/Users/nicolascantod/Library/android-sdk-macosx/tools”

SDK 链接:https://android-sdk.en.uptodown.com/mac/download


这对我也起作用了--将已下载的SDK中的tools文件夹复制到现有SDK目录中的tools文件夹中。 - efeder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接