【问题标题】:Titanium fails to build or emulate android applicationTitanium 无法构建或模拟 android 应用程序
【发布时间】:2013-04-24 17:27:13
【问题描述】:

我刚刚安装并配置了 Titanium Studio,它是开发我的 Android 应用程序的依赖项,但没有一个应用程序,即使是 Titanium 的示例应用程序也无法在模拟器中启动。
我可以在浏览器中看到Mobile Web Preview,但是当我尝试Android Emulator 时,我在控制台中收到以下错误:

[INFO] Force including all modules...
[INFO] Compiling Javascript Resources ...
[INFO] Compiling localization files
[ERROR] error: more than one emulator
[ERROR] Exception occured while building Android project:
[ERROR] Traceback (most recent call last):
[ERROR]   File "C:\Users\Administrator\AppData\Roaming\Titanium\mobilesdk\win32\3.1.0.GA\android\builder.py", line 2528, in <module>
[ERROR]     builder.build_and_run(False, avd_id, debugger_host=debugger_host, profiler_host=profiler_host)
[ERROR]   File "C:\Users\Administrator\AppData\Roaming\Titanium\mobilesdk\win32\3.1.0.GA\android\builder.py", line 2285, in build_and_run
[ERROR]     self.push_deploy_json()
[ERROR]   File "C:\Users\Administrator\AppData\Roaming\Titanium\mobilesdk\win32\3.1.0.GA\android\builder.py", line 1954, in push_deploy_json
[ERROR]     sdcard_available = self.wait_for_sdcard()
[ERROR]   File "C:\Users\Administrator\AppData\Roaming\Titanium\mobilesdk\win32\3.1.0.GA\android\builder.py", line 1907, in wait_for_sdcard
[ERROR]     if 'SDCARD READY' in output:
[ERROR] TypeError: argument of type 'NoneType' is not iterable
[ERROR] :  Build process exited with code 1
[ERROR] :  Project failed to build after 33s 353ms

Android 模拟器打开,一切看起来都已找到,但我的应用程序无法构建。

我找到this page 并复制了编译命令并像这样手动运行它:

python "c:\Users\Administrator\AppData\Roaming\npm\titanium.CMD" "--no-colors" "--no-prompt" "build" "--platform" "android" "--sdk" "3.1.0.GA" "--log-level" "trace" "--target" "emulator" "--android-sdk" "C:\Users\Administrator\Desktop\adt-bundle-windows-x86_64-20130219\sdk" "--avd-id" "2" "--avd-abi" "armeabi" "--avd-skin" "HVGA" "--skip-js-minify"

但是python给了我这个错误:

File "c:\Users\Administrator\AppData\Roaming\npm\titanium.CMD", line 1
:: Created by npm, please don't edit manually.
^
SyntaxError: invalid syntax

我做错了什么?问题出在哪里?

其他信息:
我在 Windows Server 2008 R2 上使用最新版本的 Titanium Studio(内部版本:3.1.0.201304151600);
我的系统上安装了node.jsnpmnode.acspython,并且环境变量正确且有效;
我有适用于android-2.2android-17 版本的Android SDK。

【问题讨论】:

    标签: android android-emulator titanium titanium-mobile


    【解决方案1】:

    经过数小时的搜索和寻找太多没有答案的类似问题,我自己修复了它。
    对于在 Titanium Studio 中遇到以 [ERROR] error: more than one emulator 开头的错误的每个人,问题可能是由于以下原因之一:

    • 您的计算机已连接 Android 设备
    • 您有一个 Android 模拟器应用程序,例如 BlueStacks

    我的错误是因为 BlueStacks 在后台运行。

    【讨论】:

    • 很酷,用钛进行编码就像在没有武器的情况下与一支完整的军队作战......大多数时候真的很有挑战性。
    【解决方案2】:

    答案 1:

    似乎构建工具已移动到具有最新 Android SDK 更新的另一个目录。在 /Applications/Android-sdk/platform-tools 中创建了指向 aapt 和 dx 的符号链接:

    ln -s /Applications/Android-sdk/build-tools/17.0.0/aapt aapt ln -s /Applications/Android-sdk/build-tools/17.0.0/dx dx
    

    这为我解决了这个问题(在挖掘了他们的 Python 代码之后)。

    答案 2:

    我在 Windows 上,所以我使用了 mklink。我必须添加一个指向 lib/dx.jar 的链接才能正常工作。我首先将文件夹'lib'添加到平台工具文件夹,然后在命令行中:

    cd %YOUR_ANDROID_DIR%\platform-tools    
    mklink aapt.exe ..\build-tools\android-4.2.2\aapt.exe
    mklink dx.bat ..\build-tools\android-4.2.2\dx.bat      
    cd lib                              
    mklink dx.bat ..\..\build-tools\android-4.2.2\lib\dx.jar
    

    答案 3:

    我复制了以下文件:

    C:\Android\build-tools\17.0.0\aapt.exe to C:\Android\platform-tools\aapt.exe
    C:\Android\build-tools\17.0.0\dx.bat  to  C:\Android\platform-tools\dx.bat
    C:\Android\build-tools\17.0.0\lib  to  C:\Android\platform-tools\lib
    

    然后我清理了项目并重新构建,现在一切正常。

    来源:http://developer.appcelerator.com/question/152497/titanium-sdk-310-error-typeerror-argument-of-type-nonetype-is-not-iterable-on-building-android-app#comment-175782

    【讨论】:

      【解决方案3】:

      虽然应该是评论,但还是想回答一下。

      1. 您是否删除了构建文件夹并尝试重新部署。
      2. 尝试在以前版本的钛sdk中编译?如果你尝试过,你是否得到同样的错误。

      如果这些都不起作用,请尝试...

      1. 尝试从 android sdk 安装平台工具。
      2. 还要在命令行中检查您的 JDK 版本,有时这可能很疯狂,因为您的环境变量可能完全指向不同的 JDK 路径,而您可能没有在 Titanium 中使用该路径。

      【讨论】:

      • 感谢您的回答,但我做了您的所有建议,清理了构建文件夹,尝试了其他版本的钛 sdk,错误通常相同,差异很小
      • 我在android sdk manager中找不到平台工具,每个安装的版本都有Android SDK ToolsSDK Platform
      • 我的java版本是1.6.0_25
      • 你能打开你的 SDK 管理器并更新它们吗?您的 SDK 中应该有平台工具文件夹...
      • 感谢您的帮助。我设法解决了它,我自己写了答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-21
      • 1970-01-01
      • 2021-01-18
      • 1970-01-01
      • 1970-01-01
      • 2011-01-04
      相关资源
      最近更新 更多