如果我按照以下步骤创建新应用:
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
答案 0 :(得分:94)
今天得到了同样的错误。感谢上面的评论,以下是我修复它的方法。
Ran:
cordova build android --verbose
它告诉我它在哪里得到“Permission Denied”错误......在我的情况下它是:
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
希望它有所帮助。
答案 1 :(得分:18)
以上解决方案对我不起作用。我用这个命令解决了错误:
Iterator
答案 2 :(得分:11)
对于将Android Studio更新到版本3.x后出现类似错误的用户,可以运行以下命令进行修复:
sudo chmod 755 /Applications/Android\ Studio.app/Contents/gradle/gradle-4.1/bin/gradle
希望它有所帮助!
答案 3 :(得分:11)
仅适用于OSX ---从finder转到Applications Folder,只需删除之间的空格即可重命名Android Studio App Package名称。
之前: Android Studio 之后:AndroidStudio
默认情况下没有权限问题,只是空间是问题。
干杯!
答案 4 :(得分:7)
刚遇到同样的问题,我不认为它与sudo有任何关系 - 该命令只是缺少执行权限
chmod +x hooks/after_prepare/010_add_platform_class.js
答案 5 :(得分:6)
sudo chmod 755 /Applications/Android\ Studio.app/Contents/gradle/gradle-4.1/bin/gradle
答案 6 :(得分:3)
运行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
的权限可解决问题。
答案 7 :(得分:2)
我可以通过在终端
中运行以下命令来修复%let today=%sysfunc(date());
proc sql noprint;
create table daystoOverdue_list as
select distinct business_object_rk
, intck('DAY', datepart(tbl.value_dt), &today) as value_dt
from case_DataTable_d as tbl
where tbl.cust_field_nm eq "x_case_dte_dd"
and datepart(tbl.value_dt) < &today;
运行后我能够成功运行此命令
sudo chmod 755 "/Applications/Android Studio.app/Contents/gradle/gradle-4.1/bin/gradle"
答案 8 :(得分:2)
我的问题不是权限......我找不到问题的根源但我做了一个解决方法。当我尝试添加未更新到新文件/文件夹系统的插件时,会发生此错误。
cordova platform android -v
它返回 - &gt; 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个插件的情况下运行
答案 9 :(得分:1)
我遇到了同样的问题,我通过在app文件夹中运行以下命令解决了这个问题:
ionic hooks add
答案 10 :(得分:1)
我得到了一个很好的解决方案。
这是新版Android Studio的问题。因此将此版本降级为2.3.3 https://developer.android.com/studio/archive.html
答案 11 :(得分:0)
更改
的权限/ Applications / Android Studio App Path / Contents / gradle / gradle- 。。* / bin / gradle
答案 12 :(得分:0)
这是一个权限问题chmod cmd会帮助你
第1步:使用cmd sudo cordova run android --verbose
第2步:在下面的行中找到它可能会因您的安装位置而异:
/Applications/Android Studio.app/Contents/gradle/gradle-4.1/bin/gradle
第3步:使用您的位置
运行cmdsudo chmod -R 777 /Applications/Android\ Studio.app
第4步:运行cmd cordova build android
答案 13 :(得分:0)
使用--verbose选项运行cordova命令。不要在命令前添加离子Cordova前缀。这将告诉您访问问题在哪里。对我来说,这是个问题,我的系统上没有执行特权就安装了gradlew。一旦我将执行能力添加到gradlew中,eaccess错误就消失了。
答案 14 :(得分:-1)
你必须修复&#39; gradle&#39;可由您的系统帐户执行:
$ sudo chmod 755 /Applications/Android\ Studio.app/Contents/grad
le/gradle-<VERSION>/bin/gradle
我遇到了同样的麻烦,但现在它正在为我工作。
答案 15 :(得分:-1)
chmod 755 platforms/android/gradlew