[英]Cordova android build fails immediately [Error: spawn EACCES]
我剛剛開始使用Cordova(PhoneGap)並嘗試使用它構建我的第一個項目,但是我遇到了編譯步驟的問題 - 當我嘗試構建時(在追蹤問題時我打破了build
步驟prepare
和compile
,前者的工作正常我知道)我看到這個:
~/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.