2017-08-02 96 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我真的很高興你整理出來 - 我理解擊中這些磚牆的挫敗感。我是我幫助的方式。是的,我發現在升級任何平臺時可能會遇到問題。我們需要眼睛在我們的頭後面。 –

相關問題