2

当我尝试运行 android 应用程序时,我安装了新的 appcelerator studio 和 Titan 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

谁能帮我解决问题...

4

4 回答 4

3

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

我建议不时观看兼容性矩阵。

之后在 Tiapp.xml中选择minSDK和,如下所示:targetSDK

<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>
于 2016-09-20T07:18:52.740 回答
2

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

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

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

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

于 2016-09-20T08:50:05.203 回答
2

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

node -v

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

sudo npm cache clean -f
sudo npm install -g n
sudo n 4.4.2
于 2017-08-03T15:21:07.053 回答
0

将节点版本更改为 4.4.2 后,我遇到了同样的问题并得到了解决。如果可以帮助任何人,请在此处更新它。

于 2016-12-02T21:46:16.690 回答