Titanium 中原生 Android 模块的 Ant 构建失败

Ant build failed for native Android modules in Titanium

我在 Windows 10 上使用 Titanium Alloy 的问题不会停止。我使用 ti create 创建了一个新模块并选择了 Moduleandroid。我在 build.properties 文件中添加了 Android NDK 的路径。尝试使用 Ant 编译模块时,我收到以下错误日志:

Buildfile: C:\Users\ekoppenhagen\workspace_titanium\Ti.NearbyMessages\android\build.xml
python.set.exec:
python.check:
     [echo] Testing for Python
     [exec] Python 3.5.2
init:
process.aidl:
     [echo] Generating java files from the .aidl files
     [echo] C:\android-sdk\build-tools.0.3\aidl.exe
process.annotations:
    [mkdir] Created dir: C:\Users\ekoppenhagen\workspace_titanium\Ti.NearbyMessages\android\build\generated\json
    [javac] Compiling 2 source files to C:\Users\ekoppenhagen\workspace_titanium\Ti.NearbyMessages\android\build\classes
    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.6
    [javac] Note: [KrollBindingGen] Running Kroll binding generator.
    [javac] Note: [KrollBindingGen] No binding data found, creating new data file: org.appcelerator.titanium.bindings/Ti.NearbyMessages.json
    [javac] Note: [KrollBindingGen] Found binding for proxy Example
    [javac] Note: [KrollBindingGen] Found binding for module TiNearbyMessages
    [javac] C:\Users\ekoppenhagen\workspace_titanium\Ti.NearbyMessages\android\src\de\vater\solution\ti\nearbymessages\ExampleProxy.java:15: error: cannot find symbol
    [javac] import org.appcelerator.titanium.util.Log;
    [javac]                                      ^
    [javac]   symbol:   class Log
    [javac]   location: package org.appcelerator.titanium.util
    [javac] C:\Users\ekoppenhagen\workspace_titanium\Ti.NearbyMessages\android\src\de\vater\solution\ti\nearbymessages\ExampleProxy.java:16: error: cannot find symbol
    [javac] import org.appcelerator.titanium.util.TiConfig;
    [javac]                                      ^
    [javac]   symbol:   class TiConfig
    [javac]   location: package org.appcelerator.titanium.util
    [javac] Note: [KrollBindingGen] Generating JSON: file:/C:/Users/ekoppenhagen/workspace_titanium/Ti.NearbyMessages/android/build/generated/json/org/appcelerator/titanium/bindings/Ti.NearbyMessages.json
    [javac] warning: The following options were not recognized by any processor: '[kroll.checkTiContext]'
    [javac] 2 errors

BUILD FAILED
C:\ProgramData\Titanium\mobilesdk\win32.1.0.v20160816022751\module\android\build.xml:185: Compile failed; see the compiler error output for details.

Total time: 1 second

除正常设置外(参见 ), I have installed Android NDK (v12.1.2977051), Ant (v1.9.7), Gperf (v3.0.1), Python 32 bit (v3.5.2), Python Setup Tools (v25.2.0) and all required easy_install packages listed on the Appcelerator Docu

在安装这些组件时,我遇到了另外两个问题:

  1. 附加包的安装因各种原因失败。我必须从 here.
  2. 安装 Visual C++ Build Tools
  3. 无法找到 Ti SDK 文件夹中的一些文件。我必须将 C:\ProgramData\Titanium\mobilesdk\win32\<SDK version>\module\android\win32 的内容复制到其父文件夹。

我修改了我的环境变量如下:
路径:
C:\Program Files (x86)\apache-ant-1.9.7\bin;C:\Program Files (x86)\GnuWin32\bin;C:\Python35-32;C:\Python35-32\Scripts
ANDROID_NDK:
C:\android-sdk\ndk-bundle

(我也测试了 Python v2.x 32 位,结果相同。)

我第一次尝试编译位于项目 android 文件夹中的 build.xml 失败,并显示以下消息:

    BUILD FAILED
    C:\ProgramData\Titanium\mobilesdk\win32\<SDK version>\module\android\build.xml:165: no executable specified  

幸运的是,Dan Kronholm 提供了解决方案 here。但是现在我得到了开头提到的错误。我尝试了 booth Eclipse 32 位 command line.

感谢您的帮助!

TLDNR:我的 Titanium 的 Ant 构建失败 Alloy Android 模块

除了 Windows 10 的问题外,使用过的 Titanium SDK 似乎在 \ProgramData\Titanium\mobilesdk\win32\<SDK Version>\android\titanium.jar 中缺少一些文件。文件 Log.classTiConfig.class 是其中的一部分。

对于"update" titanium.jar,我使用了一个较旧的SDK并提取了它的titanium.jar。然后,可以通过 Command Line 添加丢失的文件(详情请查看 here)。

尽管如此,出现了新的错误...我认为这迫使我切换到 MAC。