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

时间:2017-05-08 18:37:45

标签: android android-studio titanium appcelerator

我目前有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 cli: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

仍然没有运气

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

所以,经过一整天的麻烦,我终于明白了。 Android SDK工具版本与Titanium SDK 5.2.2.GA不兼容。我从this site下载了Android SDK V23.0.2,获得了工具文件夹并替换了我的Android SDK主页~/Library/Android/sdk文件夹中的现有文件夹。

现在,该网站没有提供platform-tools文件夹,因此结果是一种Frankenstein,其中包含一个版本的工具,另一个版本的平台工具和第三个版本的构建工具。< / p>