I've seen many references to changing gradle's execute attribute via chmod, (+x or 755)... None of that seems to make an iota of difference.
I still get the message even if I run:
sudo ionic cordova build android

I have these settings:

The only thing I could think it would be is due to something in the hooks of a plugin not having execute attributes maybe...

[![Plugins - no custom hooks folder entries](https://i.stack.imgur.com/4cfaW.png)](https://i.stack.imgur.com/4cfaW.png)

**sudo ionic cordova build android**

```
....
> cordova build android
ANDROID_HOME=/Users/jgf/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
Subproject Path: CordovaLib
Error: spawn EACCES

[ERROR] An error occurred while running cordova build android (exit code 1).

```

---

One of the most annoying things about this error is that it's not giving you enough details and is hiding the root cause of the problem...
I've tried adding things like **--verbose** and **--release** flags but that changes nothing in terms of resolving issue.

---

Running Mac OS X High Sierra 10.13.2

**ionic info**

```
cli packages: (/Users/jgf/.nvm/versions/node/v8.9.3/lib/node_modules)

    @ionic/cli-utils  : 1.18.0
    ionic (Ionic CLI) : 3.18.0

global packages:

    cordova (Cordova CLI) : 7.0.1

local packages:

    @ionic/app-scripts : 3.1.5
    Cordova Platforms  : android 6.4.0 browser 4.1.0 ios 4.4.0
    Ionic Framework    : ionic-angular 3.9.2

System:

    Android SDK Tools : 26.1.1
    Node              : v8.9.3
    npm               : 5.6.0
    OS                : macOS High Sierra
    Xcode             : Xcode 9.2 Build version 9C40b

Environment Variables:

    ANDROID_HOME : /Users/jgf/Library/Android/sdk

Misc:

    backend : legacy

```

**cordova platform version**

```
Installed platforms:
  android 6.4.0
  browser 4.1.0
  ios 4.4.0
Available platforms:
  blackberry10 ~3.8.0 (deprecated)
  osx ~4.0.1
  webos ~3.7.0

```

**cordova build android --verbose**

```
No scripts found for hook "before_build".
No scripts found for hook "before_prepare".
Checking config.xml and package.json for saved platforms that haven't been added to the project
Config.xml and package.json platforms are the same. No pkg.json modification.
Package.json and config.xml platforms are different. Updating config.xml with most current list of platforms.
PlatformApi successfully found for platform android
Checking config.xml for saved plugins that haven't been added to the project
Checking for any plugins added to the project that have not been installed in android platform
No differences found between plugins added to project and installed in android platform. Continuing...
Generating platform-specific config.xml from defaults for android at /opt/IonicProjects/aews_official_rc_1.2.09/platforms/android/res/xml/config.xml
Merging project's config.xml into platform-specific android config.xml
Merging and updating files from [www, platforms/android/platform_www] to platforms/android/assets/www
Wrote out android application name "ET-Mobile" to /opt/IonicProjects/aews_official_rc_1.2.09/platforms/android/res/values/strings.xml
android-versionCode not found in config.xml. Generating a code based on version in config.xml (0.0.1): 1
Wrote out Android package name "com.extratechnology.etmobile" to /opt/IonicProjects/aews_official_rc_1.2.09/platforms/android/src/com/extratechnology/etmobile/MainActivity.java
Updating icons at platforms/android/res
Updating splash screens at platforms/android/res
This app does not have additional resource files defined
Prepared android project successfully
No scripts found for hook "after_prepare".
No scripts found for hook "before_compile".
ANDROID_HOME=/Users/jgf/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
Subproject Path: CordovaLib
Running command: /opt/IonicProjects/aews_official_rc_1.2.09/platforms/android/gradlew cdvBuildDebug -b /opt/IonicProjects/aews_official_rc_1.2.09/platforms/android/build.gradle -Dorg.gradle.daemon=true -Dorg.gradle.jvmargs=-Xmx2048m -Pandroid.useDeprecatedNdk=true
Error: spawn EACCES

```

[![build.gradle in platorms/android](https://i.stack.imgur.com/5cg4V.png)](https://i.stack.imgur.com/5cg4V.png)
[![gradlew in platforns/android](https://i.stack.imgur.com/uOvLy.png)](https://i.stack.imgur.com/uOvLy.png)

Have got Android Studio 3.0.1
[![Android Studio 3.0.1](https://i.stack.imgur.com/9pQZ3.png)](https://i.stack.imgur.com/9pQZ3.png)
[![SDK Platforms (SDK Location shown for .profile)](https://i.stack.imgur.com/1QM0T.png)](https://i.stack.imgur.com/1QM0T.png)
[![SDK Tools](https://i.stack.imgur.com/Xt7Xn.png)](https://i.stack.imgur.com/Xt7Xn.png)
[![SDK Update Sites](https://i.stack.imgur.com/DISVW.png)](https://i.stack.imgur.com/DISVW.png)
[![Path to Gradle inside Android Studio package contents](https://i.stack.imgur.com/y589B.png)](https://i.stack.imgur.com/y589B.png)

My **.profile** (based loosely on [this](https://ionicframework.com/docs/developer-resources/platform-setup/mac-setup.html)) contains:

```
export JAVA_HOME=$(/usr/libexec/java_home)
export ANDROID_HOME=~/Library/Android/sdk
#ANDROID_HOME=/opt/android-sdk
export NVM_DIR="$HOME/.nvm"
export PATH=${JAVA_HOME}/bin:${PATH}
export PATH=${ANDROID_HOME}/platform-tools:${PATH}
export PATH=${ANDROID_HOME}/tools:${PATH}
export PATH=${ANDROID_HOME}/tools/bin:${PATH}
#${ANDROID_HOME}/tools/bin:${HOME}/bin:.
export GRADLE_HOME="/Applications/Android Studio.app/Contents/gradle/gradle-4.1"
export PATH=${PATH}:${GRADLE_HOME}/bin

```

This is my only other thought at this point.. a space in Android Studio.
That may be messing with paths, so I'm inclined to copy that out.

**which gradle** yields a correct path though...

```
/Applications/Android Studio.app/Contents/gradle/gradle-4.1/bin/gradle

```

(earlier there had been an old brew version that I uninstalled, but pointing to the Android Studio version with path seems to have made no difference).

One final footnote... Back in the day when android was a command that could be used for both sdk and apk manager functionality too, you used to have to do something like accept license terms or something of that nature.
There's nothing like that I'm missing like that here too is there?
Only, I'm scratching my heading for options.

---

After SurajRao's tips, running **cordova build android --verbose**,

I am now getting past initial problems. 

This was done by doing this:

```
cd <project folder>/platform/android/
chmod +x build.gradle 
chmod +x gradlew

```

It now yields:

```
Error: /opt/IonicProjects/aews_official_rc_1.2.09/platforms/android/gradlew: Command failed with exit code 1 Error output:
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':CordovaLib'.
> Could not resolve all files for configuration ':CordovaLib:classpath'.
   > Could not resolve org.bouncycastle:bcprov-jdk15on:1.48.
     Required by:
         project :CordovaLib > com.android.tools.build:gradle:2.2.3 > com.android.tools.build:gradle-core:2.2.3 > com.android.tools.build:builder:2.2.3
         project :CordovaLib > com.android.tools.build:gradle:2.2.3 > com.android.tools.build:gradle-core:2.2.3 > com.android.tools.build:builder:2.2.3 > com.android.tools:sdk-common:25.2.3
         project :CordovaLib > com.android.tools.build:gradle:2.2.3 > com.android.tools.build:gradle-core:2.2.3 > com.android.tools.build:builder:2.2.3 > org.bouncycastle:bcpkix-jdk15on:1.48
      > Could not resolve org.bouncycastle:bcprov-jdk15on:1.48.
         > Could not get resource 'https://jcenter.bintray.com/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48.pom'.
            > Could not HEAD 'https://jcenter.bintray.com/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48.pom'. Received status code 502 from server: Bad Gateway

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug optionto get more log output.

* Get more help at https://help.gradle.org

```

Will try **gradle init** per suggestion [here](https://stackoverflow.com/questions/37989694/ionic-build-android-errorcould-not-resolve-all-dependencies-for-configuration)... And that seemed to fix it.