如何使用旧 SDK(< 6.0.0.GA)编译 Titanium 项目?

How can I compile a Titanium project using an old SDK (< 6.0.0.GA)?

我目前有 2 个 Titanium 项目。一个使用最新的 SDK (6.0.4.GA),另一个使用旧的 (5.2.2.GA)。当我构建第一个时,一切正常。我可以生成 APK,将其安装在 Genymotion 上,分发它等等。问题是:当我尝试构建第二个(使用 SDK 5.2.2.GA 的那个)时,CLI 无法识别安装的 SDK。两个项目都针对 Android SDK API 23. 有什么想法可以编译旧的吗?由于 SDK 版本 6 删除了 Ti.include(),因此无法升级 SDK 版本。

我正在运行执行以下命令

appc ti build -p android -b

这是输出

Appcelerator Command-Line Interface, version 6.2.0
Copyright (c) 2014-2017, Appcelerator, Inc.  All Rights Reserved.

2017-05-08 15:08:14

Operating System
  Name                        = Mac OS X
  Version                     = 10.12.4
  Architecture                = 64bit
  # CPUs                      = 4
  Memory                      = 8589934592

Node.js
  Node.js Version             = 4.6.0
  npm Version                 = 2.15.9

Titanium CLI
  CLI Version                 = 5.0.12

Titanium SDK
  SDK Version                 = 5.2.2.GA
  SDK Path                    = /Users/inovacao/Library/Application Support/Titanium/mobilesdk/osx/5.2.2.GA
  Target Platform             = android

Command
  /usr/local/bin/node /Users/inovacao/.appcelerator/install/6.2.0/package/node_modules/titanium/lib/titanium.js build -p android -b --config-file /var/folders/63/7nt43kd11p3f3dg463vfd3rrrcyq8h/T/build-1494266892279.json --log-level info --no-banner --project-dir /Users/inovacao/Documents/eMob/emob-transformation

[ERROR] Target Android SDK API 23 is not installed

如果我 运行 appc ti sdk select 6.0.4.GA 然后 appc ti info,我得到以下关于 Android 的信息:

Android SDK
  Android Executable          = not found
  ADB Executable              = /Users/inovacao/Library/Android/sdk/platform-tools/adb
  SDK Path                    = /Users/inovacao/Library/Android/sdk

Android NDK
  NDK Path                    = /Users/inovacao/Library/Android/android-ndk-r9d
  NDK Version                 = r9d (64-bit)

Android Platforms
  1) android-23
    Name                      = Android 6.0
    API Level                 = 23
    Revision                  = 3
    Skins                     = HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800, WVGA854, WXGA720, WXGA800, WXGA800-7in
    ABIs                      = 
    Path                      = /Users/inovacao/Library/Android/sdk/platforms/android-23
  2) android-25
    Name                      = Android 7.1.1
    API Level                 = 25
    Revision                  = 2
    Skins                     = HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800, WVGA854, WXGA720, WXGA800, WXGA800-7in
    ABIs                      = 
    Path                      = /Users/inovacao/Library/Android/sdk/platforms/android-25

Android Add-Ons
  None

Android Emulators
  None

但是,当我 运行 appc ti sdk select 5.2.2.GA 然后 appc ti info,我得到这个结果:

Android SDK
  Android Executable          = /Users/inovacao/Library/Android/sdk/tools/android
  ADB Executable              = /Users/inovacao/Library/Android/sdk/platform-tools/adb
  SDK Path                    = /Users/inovacao/Library/Android/sdk

Android NDK
  NDK Path                    = /Users/inovacao/Library/Android/android-ndk-r9d
  NDK Version                 = r9d (64-bit)

Android Platforms
  None

Android Add-Ons
  None

Android Emulators
  None

[编辑 1] 我尝试使用以下内容:

appc 客户端:appc use latestappc use 5.2.2 节点:n 4.6.0n 4.4.4n 4.2.0n 4.0.0 Android NKD:r14b、r10e、r9d Android 构建工具:25.0.3、23.0.1

仍然,运气不好

我认为你必须为你的5.2.2.GA项目安装一个appc本地环境,并使用全局安装appc到6.0.4.GA项目以避免冲突。

所以,经过一整天的折腾,我终于想通了。 Android SDK 工具版本与 Titanium SDK 5.2 不兼容。2.GA。我从 this site 下载了 Android SDK V23.0.2,获取了工具文件夹并替换了我的 Android SDK 主页 ~/Library/Android/sdk 文件夹中的现有工具。

现在,该网站没有给你 platform-tools 文件夹,所以结果有点像弗兰肯斯坦,有一个版本的工具,另一个版本的平台工具和第三个版本的构建工具.