2017-08-02 113 views
0

我正在使用Titanium &合金和我终于能够运行iOS版本,但是当我运行appc ti build -p android命令时出现Android错误。Android Titanium Appcelerator - 路径必须是字符串。收到NULL

一切似乎直到Building Java source files

/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/javac 
"-J-Xmx1024M" "-encoding" "utf8" "-bootclasspath" "/Users/fharper/Library/Android/sdk/platforms/android- 
23/android.jar:/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/kroll-v8.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/modules/titanium-analytics.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/aps-analytics.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/modules/titanium-android.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/jaxen-1.1.1.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/ti-commons-codec-1.3.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/kroll-common.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/titanium.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/android-support-multidex.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/modules/titanium-filesystem.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/modules/titanium-app.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/modules/titanium-ui.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/nineoldandroids-appc-2.4.0.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/modules/titanium-media.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/modules/titanium-appcompat.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/android-support-v4.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/android-support-v7-appcompat.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/modules/titanium-cardview.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/cardview-v7-23.0.1.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/modules/titanium-locale.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/modules/titanium-network.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/modules/titanium-xml.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/modules/titanium-platform.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/modules/titanium-gesture.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/modules/titanium-database.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/modules/titanium-geolocation.jar: 
/Users/fharper/Documents/Code/TheProject/TheProject/modules/android/ti.compression/3.0.0/compression.jar: 
/Users/fharper/Documents/Code/TheProject/TheProject/modules/android/analytics.google/3.2.0/analytics.google.jar: 
/Users/fharper/Documents/Code/TheProject/TheProject/modules/android/analytics.google/3.2.0/lib/google-play-services-analytics.jar: 
/Users/fharper/Documents/Code/TheProject/TheProject/modules/android/analytics.google/3.2.0/lib/google-play-services-base.jar: 
/Users/fharper/Documents/Code/TheProject/TheProject/modules/android/analytics.google/3.2.0/lib/google-play-services-basement.jar: 
/Users/fharper/Documents/Code/TheProject/TheProject/modules/android/analytics.google/3.2.0/lib/play-services-analytics-impl.jar: 
/Users/fharper/Documents/Code/TheProject/TheProject/modules/android/com.ideeclic.insitu.insituwebserver/2.0.0/insituwebserver.jar: 
/Users/fharper/Documents/Code/TheProject/TheProject/modules/android/ti.map/3.0.1/map.jar:/Users/fharper/Documents/Code/TheProject/TheProject/modules/android/ti.map/3.0.1/lib/google-play-services-map.jar: 
/Users/fharper/Library/Application Support/Titanium/modules/android/com.alcoapps.actionbarextras/1.7.3/actionbarextras.jar: 
/Users/fharper/Documents/Code/TheProject/TheProject/modules/android/com.tripvi.drawerlayout/2.0.0/drawerlayout.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/kroll-apt.jar: 
/Users/fharper/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/android/lib/titanium-verify.jar:Manifest.class:R.class:AssetCryptImpl.class:Insitu2TheProjectActivity.class:Insitu2TheProjectAppInfo.class:Insitu2TheProjectApplication.class" "-d" 
"/Users/fharper/Documents/Code/TheProject/TheProject/build/android/bin/classes" "-proc:none" "-target" "1.6" "-source" "1.6" "@/Users/fharper/Documents/Code/TheProject/TheProject/build/android/java-sources.txt" 

在那里我碰到下面的错误

An uncaught exception was thrown! 
Path must be a string. Received null 
Path must be a string. Received null 

我从来没有使用钛上班(6.0.1.GA - CLI 5.0.14),唐无法访问以前的开发人员,即使我了解JavaScript也不会使用很多节点(6.11.2),所以我被卡住了。我尝试了很多东西,例如更改Titanium SDK,Java JDK(1.8.0_121),Android SDK(6.0 API 23 rev 3),但没有任何效果,现在iOS正在运行。我甚至不知道这个错误发生在哪里。即使使用AppceleratorStudio尝试运行应用程序,我也遇到了这些问题。

有什么想法?我花了太多时间在这方面,真的需要前进......非常感谢!

更新

以下是完整的日志(太大而在SO直接粘贴)当我运行appc run -p android --build-only -l trace命令:https://dl.dropboxusercontent.com/u/13087140/StackOverflow/build_android.log

+1

您可以尝试使用命令'appc run -p android --build-only -l trace'。这会在控制台中生成一个日志,并会在问题发生时给你提供信息。如果你能分享它,它会给我一些领先的地方寻找。 – nebu

+0

谢谢,我将日志文件添加到最初的问题。我会再仔细看看,但起初,仍然没有看到我应该找的地方... – fharper

+0

你可以粘贴错误日志吗? –

回答

1

解决此问题的方法是将Android SDK Tools从23.0.2升级到26.0.1,即使现在尚未经过Appcelerator Titanium的测试和支持。

1

这是Appcelerator的一个已知的问题,基本上,这不是招”对于某些配置固定 - 开发者一直难以重现错误,因此钛和节点的确切版本选择看起来很重要。

"Path must be a string. Received undefined" error is thrown if you build to Android using Node 6.X.X strictly with Appc CLI

Resolution: Won't Fix

一个用户的修复。

开发人员已经解决了问题,并且问题是否已解决存在冲突。

Will close ticket as won't fix. Confirmed that I do not get this error any more with
Appc CLI Core 5.4.0-36 with Ti SDK 6.0.0.v20160728020336.

I am still unable to reproduce this issue with the current GA stack:
Appc CLI NPM: 4.2.8
Appc CLI Core: 6.1.0
SDK: 6.0.1.GA
Node: v6.9.2
OS: Mac OS X (10.12.2)
If possible, when running the mobile project, include the debug and trace logs: DEBUG=* appc run -l trace.

您现在使用的:

钛(6.0.1.GA - CLI 5.0.14)
节点(6.11.2)

尝试使用较旧的sdks for titanium和较早的节点版本。我没有看到它是Android SDK的问题。

appcelerator/titanium Path must be a string. Received undefined

从开发者:

所有路径的最明显的检查:

The first thing I would do is look at both your Appc CLI and Titanium CLI config files and see if there are any settings that look like paths that are undefined, null, or empty and fixing them. You can find them at ~/.appcelerator/appc-cli.json and ~/.titanium/config.json.

一位用户降级节点

I resolved it by using node v4x. It does not work with v6.x which I was using when I saw the error.

从GitHub解决它 个

和降级版本:

So this happens because of some changes in Node.js that affect 5.5.1.GA. If your app needs to stay on SDK 5.5.1.GA try to downgrade your Node version to a 4.X version, otherwise upgrading to SDK 6.0.1.GA should fix the issue.

另一个问题,始终是值得一提的 - 是卸载和安装新的软件开发工具包,万一有一直在当前那些被进口与项目你”一些变化或缺陷已经继承。

+1

谢谢Yvette! 这个问题最终是我需要升级到最新版本26.0.1的Android SDK工具,即使不支持或由Appcelerator测试。 是什么给我带来了你的答案。我尝试降级到Node v4.x,并且在构建Java源文件时在同一步骤中得到了不同的错误: '[ERROR]无法运行分配器: [错误] [错误]错误:无法访问jarfile null3' 有了这个错误,我发现这个问题可能是一个Android SDK工具之一,升级后它就工作了。我也能够回到Node v6.x,现在一切都在编译。 – fharper

+1

我会奖赏你的赏金,但无论出于何种原因,我只能在9小时内完成......再次感谢! – fharper

+0

@fharper我真的很高兴你整理出来 - 我理解击中这些砖墙的挫败感。我是我帮助的方式。是的,我发现在升级任何平台时可能会遇到问题。我们需要眼睛在我们的头后面。 –

相关问题