簡體   English   中英

Cordova android構建立即失敗[錯誤:生成EACCES]

[英]Cordova android build fails immediately [Error: spawn EACCES]

我剛剛開始使用Cordova(PhoneGap)並嘗試使用它構建我的第一個項目,但是我遇到了編譯步驟的問題 - 當我嘗試構建時(在追蹤問題時我打破了build步驟preparecompile ,前者的工作正常我知道)我看到這個:

~/Projects/MyProject$ cordova compile android
Compiling app on platform "android" via command "/media/glenatron/local disk/Projects/Cordova/MyProject/platforms/android/cordova/build" 
{ [Error: spawn EACCES] code: 'EACCES', errno: 'EACCES', syscall: 'spawn' }

現在從我可以看出這是一個權限問題,但沒有Node或Cordova經驗,但我不知道如何解決它。 它看起來好像正在嘗試產生另一個進程 - 也許是Android SDK? - 它失敗了。

有沒有辦法我可以讓Node或Cordova給我更多關於發生了什么的信息,或者是否有某個日志文件可以幫助我找出問題所在?

編輯:我意識到cordova有一個--verbose開關,當我激活它時,我得到上面的輸出另外幾行......

Error: spawn EACCES
    at errnoException (child_process.js:980:11)
    at Process.ChildProcess._handle.onexit (child_process.js:771:34)

不幸的是,他們似乎並沒有實際上給更多的信息,像過程中它無法啟動。

對我來說,這已經解決了這個問題:

chmod 777 /Applications/Android\\ Studio.app/Contents/gradle/gradle-2.2.1/bin/gradle

這是一個權限問題,只需執行:

chmod 777 "/media/glenatron/localdisk/Projects/Cordova/MyProject/platforms/android/cordova/build"

這應該解決問題。

使用類似Solidak的詳細建議作品。

cordova build --release --verbose android

最后一個命令是訪問/platforms/android/gradlew所以我chmod +x那個文件,它工作。

我想,每個人都不同。 運行--verbose會為您提供Cordova需要訪問的文件。 從那里你可以chmod 777 <file> 您應該運行以找出無法訪問的文件的命令如下所示: cordova build --release --verbose android

我面臨同樣的問題。 在我的例子中,我將示例cordova項目放在與home文件夾不同的ext3分區上。 由於分區不是NTFS,因此權限應該不是問題。 但是,當我嘗試所有建議的方法(更改權限,使所有可執行文件)時,它們都沒有工作。 我在家庭分區中創建示例cordova文件夾后,此問題就消失了。

對於MAC用戶,將名稱從“Android Studio”更改為AndroidStudio。 我的cordova構建以android studio的名義取回了slash(),所以我更改了app的名稱。 它對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM