[英]Ionic build android, Error: spawn EACCES
如果我按照以下步驟創建新應用:
Rubens-MacBook-Pro:~ rlopez$ npm install -g cordova ionic
Rubens-MacBook-Pro:~ rlopez$ ionic start myApp tabs
Rubens-MacBook-Pro:~ rlopez$ cd myApp
Rubens-MacBook-Pro:myApp rlopez$ ionic platform add android@6.2.2 //6.1.x has a bug
Rubens-MacBook-Pro:myApp rlopez$ ionic build android
我得到這個輸出:
> ionic-hello-world@ ionic:build /Users/rlopez/Proyectos/sfp-concursaPy
> ionic-app-scripts build
[15:13:28] ionic-app-scripts 1.1.4
[15:13:28] build dev started ...
[15:13:28] clean started ...
[15:13:28] clean finished in 3 ms
[15:13:28] copy started ...
[15:13:28] transpile started ...
[15:13:31] transpile finished in 2.96 s
[15:13:31] preprocess started ...
[15:13:31] preprocess finished in less than 1 ms
[15:13:31] webpack started ...
[15:13:31] copy finished in 3.17 s
[15:13:41] webpack finished in 9.26 s
[15:13:41] sass started ...
[15:13:41] sass finished in 897 ms
[15:13:41] postprocess started ...
[15:13:41] postprocess finished in 1 ms
[15:13:41] lint started ...
[15:13:41] build dev finished in 13.15 s
[15:13:43] lint finished in 2.04 s
ANDROID_HOME=/Users/rlopez/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home
Error: spawn EACCES
運行離子信息提供以下內容:
Your system information:
Cordova CLI: 6.5.0
Ionic Framework Version: 3.1.1
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.6
ios-deploy version: 1.8.5
ios-sim version: 5.0.13
OS: OS X El Capitan
Node Version: v6.10.1
Xcode version: Xcode 7.3.1 Build version 7D1014
我做錯了什么? 這是Ionic的一個錯誤嗎?
[編輯]
運行ionic build android --verbose
提供以下輸出:
Running command: "/Applications/Android Studio 2.4
Preview.app/Contents/gradle/gradle-3.4.1/bin/gradle" -p
/Users/rlopez/myApp/platforms/android wrapper -b
/Users/rlopez/myApp/platforms/android/wrapper.gradle
Error: spawn EACCES
at exports._errnoException (util.js:1018:11)
at ChildProcess.spawn (internal/child_process.js:319:11)
at Object.exports.spawn (child_process.js:378:9)
at exports.spawn(/Users/rlopez/myApp/platforms/android/cordova/node_modules/cordova-common/src/superspawn.js:134:31)
at GradleBuilder.runGradleWrapper(/Users/rlopez/myApp/platforms/android/cordova/lib/builders/GradleBuilder.js:78:14)
at /Users/rlopez/myApp/platforms/android/cordova/lib/builders/GradleBuilder.js:178:21
at _fulfilled (/Users/rlopez/myApp/platforms/android/cordova/node_modules/q/q.js:854:54)
at self.promiseDispatch.done (/Users/rlopez/myApp/platforms/android/cordova/node_modules/q/q.js:883:30)
at Promise.promise.promiseDispatch (/Users/rlopez/myApp/platforms/android/cordova/node_modules/q/q.js:816:13)
at /Users/rlopez/myApp/platforms/android/cordova/node_modules/q/q.js:570:49
今天得到了同樣的錯誤。 感謝上面的評論,這是我如何解決它。
冉:
cordova build android --verbose
它告訴我它在哪里得到“權限被拒絕”錯誤...在我的情況下它是:
Running command: /usr/libexec/java_home
Command finished with error code 0: /usr/libexec/java_home
ANDROID_HOME=/Users/mj/phonegap/adt-bundle-mac-x86_64-20140321/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
Running command: "/Applications/Android Studio.app/Contents/gradle/gradle-2.2.1/bin/gradle"
-p /Users/mj/EduceMobile/app/platforms/android wrapper -b /Users/mj/EduceMobile/app/platfo
rms/android/wrapper.gradle
要修復,運行:
sudo chmod 755 /Applications/Android\ Studio.app/Contents/gradle/gradle-2.2.1/bin/gradle
...和
...
...
:cdvBuildDebug
BUILD SUCCESSFUL
Total time: 2 mins 44.195 secs
希望能幫助到你。
以上解決方案對我不起作用。 我用這個命令解決了錯誤:
chmod 755 platforms/android/gradlew
對於將Android Studio更新到版本3.x后出現類似錯誤的用戶,可以運行以下命令進行修復:
sudo chmod 755 /Applications/Android\\ Studio.app/Contents/gradle/gradle-4.1/bin/gradle
希望它有所幫助!
僅適用於OSX ---從finder轉到Applications文件夾,只需刪除之間的空格即可重命名Android Studio App Package名稱。
之前: Android Studio After:AndroidStudio
默認情況下沒有權限問題,只是空間是問題所在。
干杯!
剛剛遇到同樣的問題,我認為它與sudo沒有任何關系 - 該命令只是缺少執行權限
chmod +x hooks/after_prepare/010_add_platform_class.js
sudo chmod 755 /Applications/Android\ Studio.app/Contents/gradle/gradle-4.1/bin/gradle
運行ionic build android --verbose
提供以下輸出:
/Applications/Android Studio 2.4
Preview.app/Contents/gradle/gradle-3.4.1/bin/gradle -p
/Users/rlopez/myApp/platforms/android wrapper -b
/Users/rlopez/myApp/platforms/android/wrapper.gradle
Error: spawn EACCES
at exports._errnoException (util.js:1018:11)
at ChildProcess.spawn (internal/child_process.js:319:11)
at Object.exports.spawn (child_process.js:378:9)
at exports.spawn(/Users/rlopez/myApp/platforms/android/cordova/node_modules/cordova-common/src/superspawn.js:134:31)
at GradleBuilder.runGradleWrapper(/Users/rlopez/myApp/platforms/android/cordova/lib/builders/GradleBuilder.js:78:14)
at /Users/rlopez/myApp/platforms/android/cordova/lib/builders/GradleBuilder.js:178:21
at _fulfilled (/Users/rlopez/myApp/platforms/android/cordova/node_modules/q/q.js:854:54)
at self.promiseDispatch.done (/Users/rlopez/myApp/platforms/android/cordova/node_modules/q/q.js:883:30)
at Promise.promise.promiseDispatch (/Users/rlopez/myApp/platforms/android/cordova/node_modules/q/q.js:816:13)
at /Users/rlopez/myApp/platforms/android/cordova/node_modules/q/q.js:570:49
更改/Applications/Android Studio 2.4 Preview.app/Contents/gradle/gradle-3.4.1/bin/gradle
可以解決問題。
我的問題不是權限......我找不到問題的根源但我做了一個解決方法。 當我嘗試添加未更新到新文件/文件夾系統的插件時,會發生此錯誤。
cordova platform android -v
它返回 - > 8.0.0
我做的是:
cordova platform rm android
cordova platform add android@6.4.0
然后:
cordova plugin add <plugin>
這樣插件安裝顯示沒有錯誤..但請記住,在cordova插件添加命令后,android平台版本再次自動更新到8.0.0 ...所以我不得不重復這個過程,以便添加另一個插件與同樣的問題。
重復此過程2次后,我終於讓項目在安裝了2個插件的情況下運行
我遇到了同樣的問題,我通過在app文件夾中運行以下命令解決了這個問題:
ionic hooks add
我有一個很好的解決方案。
這是新版Android Studio的問題。 因此將此版本降級到2.3.3 https://developer.android.com/studio/archive.html
chmod 755 platforms/android/gradlew
更改權限
/ Applications / Android Studio App Path / Contents / gradle / gradle- 。 * /斌/ gradle這個
這是一個權限問題chmod cmd會幫助你
第1步:使用cmd sudo cordova run android --verbose
第2步:找到以下行,它可能會因您的安裝位置而異:
/Applications/Android Studio.app/Contents/gradle/gradle-4.1/bin/gradle
第3步:使用您的位置運行cmd
sudo chmod -R 777 /Applications/Android\ Studio.app
第4步:運行cmd cordova build android
使用--verbose選項運行cordova命令。 不要在命令前加上離子cordova。 這將告訴您訪問問題的位置。 對我來說這是一個問題,我的系統上沒有執行權限就安裝了gradlew。 一旦我向gradlew添加執行能力,eaccess錯誤就消失了。
您必須修復“gradle”才能由您的系統帳戶執行:
$ sudo chmod 755 /Applications/Android\\ Studio.app/Contents/grad le/gradle-<VERSION>/bin/gradle
我有同樣的麻煩,但現在它對我有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.