Appcelerator 工作室 android 应用未能 运行

Appcelerator studio android app failed to run

当我尝试 运行 android 应用程序时,我已经安装了新的 appcelerator studio 和 titanium CLI 以及其他依赖项,然后它显示以下错误:

[INFO] :   Packaging application: ../sw/android-sdk-macosx/build-tools/24.0.2/aapt "package" "-f" "-m" "-J" "WorkData/Appcelator Projects/test/build/android/gen" "-M" "../Appcelator Projects/test/build/android/AndroidManifest.xml" "-A" "../WorkData/Appcelator Projects/test/build/android/bin/assets" "-S" "../WorkData/Appcelator Projects/test/build/android/res" "-I" "../sw/android-sdk-macosx/platforms/android-23/android.jar" "-F" "../WorkData/Appcelator Projects/test/build/android/bin/app.ap_" "--auto-add-overlay" "--extra-packages" "ti.modules.titanium.ui:android.support.v7.appcompat:android.support.v7.cardview" "-S" "/var/folders/jf/f17wzygx4nbd6fg5wsntf4840000gn/T/116820-1742-1nuy1sx.xxrqp30udi/res" "-S" "/var/folders/jf/f17wzygx4nbd6fg5wsntf4840000gn/T/116820-1742-hop1bc.t53b359udi/res" "-S" "/var/folders/jf/f17wzygx4nbd6fg5wsntf4840000gn/T/116820-1742-6n4mu0.4svn3o9a4i/res"
2016-09-20T06:14:33.921Z | ERROR  | An uncaught exception was thrown!
Path must be a string. Received undefined
2016-09-20T06:14:33.922Z | ERROR  | Path must be a string. Received undefined

而且我能够 运行 在 iPhone 上进行相同的项目。

我的机器配置如下:

Operating System
  Name                        = Mac OS X
  Version                     = 10.11.6
  Architecture                = 64bit
  # CPUs                      = 4
  Memory                      = 8589934592
Node.js
  Node.js Version             = 6.5.0
  npm Version                 = 3.10.3
Titanium CLI
  CLI Version                 = 5.0.9
Titanium SDK
  SDK Version                 = 5.5.0.GA
  SDK Path                    = /Users/neosoft/Library/Application Support/Titanium/mobilesdk/osx/5.5.0.GA
  Target Platform             = android
Command

谁能帮我解决问题...

您似乎在使用 Build Tools SDK 24.#。 Appcelerator 尚不支持此功能。您应该卸载此版本并安装 23(appcelerator 支持的最新版本)。

我建议不时观看 Compatibility Matrix

之后 select Tiapp.xml 中的 minSDKtargetSDK 像这样:

<android xmlns:android="http://schemas.android.com/apk/res/android">
    <manifest android:versionCode="1"
        android:versionName="1.0.0" package="app.my" xmlns:android="http://schemas.android.com/apk/res/android">
        <uses-sdk android:minSdkVersion="16" targetSdkVersion="23"/>
    </manifest>
</android>

查看我的 Android SDK 文件夹如下所示:

尝试查看您的 Android SDK 文件夹并检查是否有任何与版本 24 相关的内容。并在删除与 24 版本相关的所有内容后执行这些任务:

  • tiapp.xml 中删除 uses-sdk 标签,让 Titanium SDK 自行处理。
  • 从您的 Titanium 项目根目录中删除 buildResources 文件夹
  • 立即清理并 运行 项目。

我有同样的问题,在将我的节点版本更改为 4.4.2 后得到解决。如果可能对任何人有帮助,请在这里更新它。

使用以下命令检查您的 node.js 版本:

node -v

如果您的版本高于 4.4.2,那就是问题所在。您可以使用以下方法修复它:

sudo npm cache clean -f
sudo npm install -g n
sudo n 4.4.2