ChatGPT解决这个技术问题 Extra ChatGPT

ionic 2 - Error Could not find an installed version of Gradle either in Android Studio

I create ionic 2 project and add diagnostic cordova plugin like this :

ionic plugin add cordova.plugins.diagnostic

npm install --save @ionic-native/diagnostic

and add android platform like this :

ionic platform add android@latest

but when build with ionic build android console give me this error :

Error: Could not find an installed version of Gradle either in Android Studio,
or on your system to install the gradle wrapper. Please include gradle 
in your path, or install Android Studio

and I try to download manualy gradle.3.3-all.zip and change this distributionUrl var in platform/android/cordova/lib/builders/GradleBuilder.js

 var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'https\\://services.gradle.org/distributions/gradle-3.3-all.zip'

to:

var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'file:///E:/gradles/gradle-3.3-all.zip';

but not working and console give me last error.

I dont know how to add gradle for android@latest version

Do you have android sdk properly installed?
yes ,this problem solve with define gradle in path system variable , but when run build android ,console give me :"You have not accepted the license agreements of the following SDK components" error
You have to install the proper sdk version (via android sdk manager) and accept the terms. forum.ionicframework.com/t/…
did you solve this issue? I have the same problem
yes ,I download gradle.zip manually and include it into path.

A
AFD

Life is too short to spend it on messing with paths, etc.

Since I had Homebrew installed on the iMac, I just ran this command:

brew install gradle

The Ionic3 project started to build successfully.


brew update && brew install gradle -- otherwise gradle doesn't install if brew needs to update first.
Worked for me running Cordova CLI without Ionic. Plus I didn't have to do the double line to get gradle to install as mentioned in Kit's comment. Very happy - simple solution. Thanks so much @AFD !!!!
@Kit brew auto updates when you run brew install nowadays
"Life is too short to spend it on messing with $complicated_topic" will be my new ace up my sleeve at a job interview.
thanks much.. gr8 help..very true that "life is too short to spend it on messing..."
A
Arjun G Perambra

Try installing gradle and include it into your path. Click the link below to get manual. https://gradle.org/install


Thanks! Rediculous that cordova / ionic still hasn't fixed this.
If you have Android studio and a project using gradle, you can find it for example like: ~/apps/android-studio$ find . -type f -name gradle ./gradle/gradle-4.1/bin/gradle. Sorry for markup, it's the comment. So you could add that to your PATH variable but you will need to keep that version installed.
Yes, I found one, added to the path and it worked like a charm, thanks. > export PATH=$PATH:/Users/MyUser/.gradle/wrapper/dists/gradle-4.1-all/xxx/gradle-4.1/bin
don't forget to reboot your computer (windows)
N
Nicolas

Just install gradle on linux, Even if Android Studio is installed,

sudo apt install gradle


n
not-a-bot

For windows users:

Download gradle binary from the link in the answer Gradle Download

Extract the zip file to 'C:\Gradle' or somewhere else

open Edit Environment variable dialog from start menu > Search

Click 'New' under system variables and add as below

Variable Name GRADLE_HOME Variable Value C:\Gradle\gradle-4.0.1

Then choose PATH variable from system variable list

append the gradle path to variable value like this C:\Gradle\gradle-4.0.1\bin

then press win Key+R type cmd then enter > in command terminal type gradle -v

if the setup is correct you will see the gradle installation details


can i have gradle download link
Gradle download from here: gradle.org/releases
A
Almas Dusal

I was already installed Android Studio and it's just need to add gradle PATH to ~/.bash_profile on my MacOSX Mojave. Also if gradle is upgraded then path might need to update again.

Example .bash_profile :

export ANDROID_SDK_ROOT="~/Library/Android/sdk"
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export JAVA_HOME=$(/usr/libexec/java_home)
export GRADLE_PATH="~/.gradle/wrapper/dists/gradle-4.10.1-all/455itskqi2qtf0v2sja68alqd/gradle-4.10.1/bin"
export ANDROID_STUDIO="/Applications/Android Studio.app/Contents/MacOS"
export PATH="$PATH:$GRADLE_PATH:$ANDROID_STUDIO"

When edited your .bash_profile then run a command below to read it again.

source ~/.bash_profile

I was able to use this method to find my own gradle path and insert it. Thank you.
M
Maheshvirus

For Windows you can try below solution

Copy your gradle-->bin path and add it to system environment variable path.

In my case gradle path is

C:\Users\username\.gradle\wrapper\dists\gradle-3.3-all\55gk2rcmfc6p2dg9u9ohc3hw9\gradle-3.3\bin

This solution worked for me.


Thank you - this seems to me a much better solution that installing yet another version of Gradle on your computer.
Don't forget to start a new session of CMD after adding to path
I guess this is pretty obvious but if you upgrade the Gradle in Android Studio then you're going to have to re-add the path.
M
Mohammed Safeer

In Ubuntu, Installing latest version of gradle solved the issue for me.

Try these steps to install the latest version,

sudo add-apt-repository ppa:cwchien/gradle

sudo apt-get update

sudo apt-get install gradle

then build using,

cordova build android or ionic cordova build android

Note: If you install gradle from ubuntu repo, it will install the old version 1.4 and will not help, so sudo apt-get install gradle alone will not help most times, if you did not add the repo ppa:cwchien/gradle earlier


V
Veerendra Borra

There is a problem with cordova version 6.4.0 and android 6.2.1 .so,please try with below compatible versions

cordova version must be 6.4.0

sudo npm install -g cordova@6.4.0

Install android in your project

sudo cordova platform add android@6.1.2

 or

sudo ionic platform add android@6.1.2


You really shouldn't run npm with sudo!
if your system ask permissions then you need to use sudo
If you set it up right, it doesn't need permissions. You download untrusted code that can execute automatically. This should not be done with elevated permissions! See docs.npmjs.com/getting-started/fixing-npm-permissions
Simply paste this line sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share} before first command and remove sudo.
M
Madhup Singh Yadav
brew install gradle

In short that will save time :) Ionic team please fix this


J
Joe

On Ubuntu 18.04, I intalled gradle with:

sudo add-apt-repository ppa:cwchien/gradle
sudo apt-get update
sudo apt-get install gradle

And Ready.


Do you really need the first line on Ubuntu 18.04?
Hello Joe, good question, in Ubuntu repositories the version is 3.4.1 but in repository ppa:cwchien/gradle the version is 5.0. Is not really necessary to use the first line, but is important to install the last version.
G
Gandhi

If you dont want to install gradle explicitly just to address this issue, you can overcome this by following the workaround as mentioned below:

Look for check_reqs.js file under platforms\android\cordova\lib folder Edit the else part of androidStudioPath variable null check in get_gradle_wrapper function as below:

Existing code:

else { //OK, let's try to check for Gradle! return forgivingWhichSync('gradle'); }

Modified code:

else { //OK, let's try to check for Gradle! var sdkDir = process.env['ANDROID_HOME']; return path.join(sdkDir, 'tools', 'templates', 'gradle', 'wrapper', 'gradlew'); }

NOTE: This change needs to be done everytime when the android platform is removed and re-added

UPDATE: The above workaround will work fine till Cordova Android version 6.3.0. For Cordova Android 6.4.0 and above, Gradle needs to be installed as a standalone dependency. Please find Cordova Android 6.4.0 release notes for more info on this.


Could someone let me know why this answer is downvoted?
it does not solve problem, install gradle and set path
@rashidnk have tried it in my cordova CLI and it works after this tweak. Could you explain what excatly you tried and what failed?
ok, but i dint downvote, i tried ur solution but it dint wrk, after installing gradle and setting path variable it worked
@rashidnk check this out where the answer is accpeted - stackoverflow.com/questions/43356833/…
Q
Quezako

For Windows users:

Set-ExecutionPolicy RemoteSigned -scope CurrentUser
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
scoop install gradle

R
Regolith

I am on Microsoft Windows:

I encountered this error after upgrading Android Studio from 2.3.3 to 3.0. I solved it by changing the path to gradle in the PATH environment variable, which is now "gradle-4.1" for Android Studio 3.0 (previously it was "gradle-3.2" for Android Studio 2.3.3)


K
Kuldeep Kumar

Just install the Gradle through the command line If you are using Mac try

brew install gradle

M
Metin SEVİNDİK

I moved Android folder path to another path and taked this error.

I resolved to this problem in below.

I was changed to Gradle path in system variables. But not path in user variables. You must change to path in system variables

Screenshot this

Alternative Screenshot this


A
Amadeus Sánchez

I would like to add my two cents to this conversation. If you are a Windows user, you would like to take advantage of Chocolatey

Per https://community.chocolatey.org/packages/gradle, you need to run in your console (it assumes you already have Chocolatey installed).

choco install gradle

If you haven't installed Chocolatey, follow the instructions at https://chocolatey.org/install


P
Peter Tretyakov

I solve this problem

Download gradle.zip from this site https://gradle.org/install. And follow the instructions indicated in the site.

Then open another terminal cmd and execute the command:

Cordova build android --prod --release
End

S
Silas Brasil

First of all uninstall ionic and cordova, later set your variables envarionment JAVA_HOME, ANDROID_HOME and PATH then reinstall ionic cordova and add platform like follow:

$ sudo npm install -g ionic cordova

$ ionic platform add android

The ionic will setup gradle packages properly.


My edit was rejected... so I post as a comment : the npm keyword is missing after sudo in the first line of your code.
M
Marcelo Agimóvel

In Arch Linux/Manjaro: sudo pacman -S gradle


A
Ajoy Karmakar

just install android studio and select your sdk folder as a android studio's sdk default folder and then android studio repair all the damage area and download needed files.


M
Mandeep Singh

Download the latest gradle from https://gradle.org/install and set the gradle path upto bin in your PATH variable and export path in the directory you are working in

example : export PATH=/home/abc/android-sdk-linux/tools:/home/abc/android-sdk-linux/platform-tools:/home/abc/android-sdk-linux/tools:/home/abc/android-sdk-linux/platform-tools:/home/abc/Downloads/gradle-4.4.1/bin

I spent my whole day resolve this and ultimately this solution worked for me,


C
Cedric Ipkiss

If your gradle was working normally before and this came up (probably after you upgraded or reinstalled ionic or cordova - as was my case), you might want to leave the environment variable as is, and check if the folder listed there actually exists.

If it doesn't, rather than reinstalling gradle as mentioned above and changing the value of the environment variable, I had to recreate the old missing folder and copy the gradle files into them.

It seems the value of the gradle location is saved somewhere in Android Studio, and updating the PATH in system variables doesn't affect Android Studio checking for that same location after something triggers a change.