3

我刚刚安装并配置了 Titanium Studio,它是开发我的 Android 应用程序的依赖项,但没有一个应用程序,即使是钛的示例应用程序也不会在模拟器中启动。
我可以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 模拟器打开,一切看起来都找到了,但我的应用程序无法构建。

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

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.js, npm, node.acs,python并且环境变量正确且有效;
我有两个版本android-2.2的Android SDK。android-17

4

3 回答 3

3

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

  • 您有一台连接到计算机的 Android 设备
  • 你有一个像BlueStacks这样的 Android 模拟器应用程序。

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

于 2013-04-27T12:45:09.233 回答
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

于 2013-07-08T13:54:19.403 回答
1

虽然它应该是一个评论,但想回答它。

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

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

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