ionic 2 - Lỗi không thể tìm thấy phiên bản Gradle đã cài đặt trong Android Studio


151

Tôi tạo dự án ionic 2 và thêm plugin chẩn đoán cordova như thế này:

ionic plugin add cordova.plugins.diagnostic

npm install --save @ionic-native/diagnostic

và thêm nền tảng Android như thế này:

ionic platform add android@latest

nhưng khi xây dựng với ionic build androidgiao diện điều khiển cho tôi lỗi này:

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

và tôi cố tải xuống gradle thủ công.3.3-all.zip và thay đổi var phân phối này trong nền tảng / 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'

đến:

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

nhưng không hoạt động và giao diện điều khiển cho tôi lỗi cuối cùng.

Tôi không biết cách thêm gradle cho android @ phiên bản mới nhất


Bạn đã cài đặt android sdk đúng cách chưa?
Christian Benseler

vâng, vấn đề này giải quyết với việc xác định độ dốc trong biến hệ thống đường dẫn, nhưng khi chạy xây dựng android, giao diện điều khiển cho tôi: "Bạn chưa chấp nhận thỏa thuận cấp phép của các thành phần SDK sau"
Reza Mazarlou

Bạn phải cài đặt phiên bản sdk thích hợp (thông qua trình quản lý sdk Android) và chấp nhận các điều khoản. forum.ionicframework.com/t/ từ
Christian Benseler

bạn đã giải quyết vấn đề này? Tôi có cùng một vấn đề
Manspof

vâng, tôi tải gradle.zip bằng tay và đưa nó vào đường dẫn.
Reza Mazarlou

Câu trả lời:


121

Hãy thử cài đặt gradle và đưa nó vào đường dẫn của bạn. Nhấp vào liên kết dưới đây để có được hướng dẫn. https://gradle.org/install


4
Cảm ơn! Điều kỳ lạ là cordova / ion vẫn chưa khắc phục điều này.
Roel

15
Người dơi thần thánh, bây giờ tôi phải cài đặt thêm 139Mb crap mà tôi sẽ không sử dụng cho BẤT CỨ NÀO khác ??? Tốt đau buồn. Nhưng cảm ơn về tiền boa.
demaniak

2
Nếu bạn có studio Android và một dự án sử dụng gradle, bạn có thể tìm thấy nó, ví dụ như: ~ / apps / android-studio $ find. -type f -name gradle ./gradle/gradle-4.1/bin/gradle. Xin lỗi cho đánh dấu, đó là nhận xét. Vì vậy, bạn có thể thêm nó vào biến PATH của mình nhưng bạn sẽ cần phải cài đặt phiên bản đó.
Vincent Gerris

10
Vâng, tôi đã tìm thấy một, thêm vào đường dẫn và nó hoạt động như một cơ duyên, cảm ơn. > xuất PATH = $ PATH: /Users/MyUser/.gradle/wrapper/dists/gradle-4.1-all/xxx/gradle-4.1/bin
Amjad

Nhận xét của @ Amjad rất hữu ích cho tôi!
bdombro

232

Cuộc sống quá ngắn để chi tiêu cho những con đường lộn xộn, v.v.

Vì tôi đã cài đặt Homebrew trên iMac , tôi chỉ chạy lệnh này:

brew install gradle

Dự án Ionic3 bắt đầu xây dựng thành công.


8
brew update && brew install gradle- nếu không thì gradle không cài đặt nếu brew cần cập nhật trước.
Bộ

Làm việc cho tôi chạy Cordova CLI mà không có Ionic. Thêm vào đó, tôi đã không phải thực hiện đường đôi để cài đặt lớp như đã đề cập trong bình luận của Kit. Rất vui - giải pháp đơn giản. Cảm ơn rất nhiều @AFD !!!!
Sandi Laufenberg-Deku

9
@Kit brew tự động cập nhật khi bạn chạy brew installhiện nay
corysimmons

3
"Cuộc sống quá ngắn để chi tiêu cho việc gây rối với $ Complex_topic" sẽ là cú hích mới của tôi trong cuộc phỏng vấn xin việc.
Franco Roura

thanks nhiều .. gr8 help..very đúng là "cuộc sống là quá ngắn để dành nó trên rối tung ..."
Manish Nahar

91

Chỉ cần cài đặt gradle trên linux, ngay cả khi Android Studio được cài đặt,

sudo apt cài đặt lớp


56

Đối với người dùng windows :

Tải xuống nhị phân lớp từ liên kết trong câu trả lời Gradle Tải xuống

Trích xuất tệp zip thành 'C: \ Gradle' hoặc ở nơi khác

mở hộp thoại Chỉnh sửa biến môi trường từ menu bắt đầu> Tìm kiếm

Nhấp vào 'Mới' dưới các biến hệ thống và thêm vào như bên dưới

Tên GRADLE_HOMEbiến Giá trị biếnC:\Gradle\gradle-4.0.1

Sau đó chọn PATHbiến từ danh sách biến hệ thống

nối đường dẫn lớp vào giá trị biến như thế này C:\Gradle\gradle-4.0.1\bin

sau đó nhấn win Key + R gõ cmd rồi nhập> trong lệnh terminal type gradle -v

Nếu thiết lập đúng, bạn sẽ thấy chi tiết cài đặt lớp


Tôi có thể có liên kết tải xuống lớp
Chirag Solanki

14

Có vấn đề với phiên bản cordova 6.4.0 và android 6.2.1 .so, vui lòng thử với các phiên bản tương thích bên dưới

phiên bản cordova phải là 6.4.0

cài đặt sudo npm -g cordova@6.4.0

Cài đặt Android trong dự án của bạn

nền tảng sudo cordova thêm android@6.1.2

 or

nền tảng ion sudo thêm android@6.1.2


15
Bạn thực sự không nên chạy npm với sudo!
j2L4e

nếu hệ thống của bạn yêu cầu quyền thì bạn cần sử dụng sudo
Veerendra Borra

8
Nếu bạn thiết lập đúng, nó không cần quyền. Bạn tải xuống mã không tin cậy có thể thực thi tự động. Điều này không nên được thực hiện với sự cho phép cao! Xem docs.npmjs.com/getting-started/fixing-npm-permissions
j2L4e

3
Đơn giản chỉ cần dán dòng này sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}trước lệnh đầu tiên và loại bỏ sudo.
Daniel

12

Trong Ubuntu, Cài đặt phiên bản mới nhất đã gradlegiải quyết vấn đề cho tôi.

Hãy thử các bước sau để cài đặt phiên bản mới nhất,

sudo add-apt-repository ppa:cwchien/gradle

sudo apt-get update

sudo apt-get install gradle

sau đó xây dựng bằng cách sử dụng,

cordova build android hoặc là ionic cordova build android

Lưu ý: Nếu bạn cài đặt gradle từ ubfox repo, nó sẽ cài đặt phiên bản cũ 1.4 và sẽ không giúp ích, vì vậy sudo apt-get install gradlemột mình sẽ không giúp được nhiều lần, nếu bạn không thêm repo ppa:cwchien/gradletrước đó


9

Tôi đã cài đặt Android Studio và chỉ cần thêm lớp PATH vào ~ / .bash_profile trên MacOSX Mojave của tôi. Ngoài ra nếu gradle được nâng cấp thì đường dẫn có thể cần phải cập nhật lại.

Ví dụ .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"

Khi chỉnh sửa .bash_profile của bạn, sau đó chạy một lệnh bên dưới để đọc lại.

source ~/.bash_profile

Tôi đã có thể sử dụng phương pháp này để tìm đường dẫn lớp của riêng mình và chèn nó. Cảm ơn bạn.
bvccelates

7

Đối với Windows, bạn có thể thử giải pháp bên dưới

Sao chép gradle-->binđường dẫn của bạn và thêm nó vào system environment variable path.

Trong trường hợp của tôi đường dẫn lớp là

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

Giải pháp này đã làm việc cho tôi.


6

Trên Ubuntu 18.04, tôi đã giới thiệu lớp với:

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

Và sẵn sàng.


1
Bạn có thực sự cần dòng đầu tiên trên Ubuntu 18.04 không?
elshev

3
Xin chào Joe, câu hỏi hay, trong kho lưu trữ Ubuntu phiên bản là 3.4.1 nhưng trong kho ppa: cwchien / gradle phiên bản là 5.0. Không thực sự cần thiết để sử dụng dòng đầu tiên, nhưng điều quan trọng là cài đặt phiên bản cuối cùng.
Ovidio

3

Nếu bạn không muốn cài đặt gradle một cách rõ ràng chỉ để giải quyết vấn đề này, bạn có thể khắc phục điều này bằng cách làm theo cách giải quyết như được đề cập dưới đây:

  1. Tìm check_reqs.jstệp trong thư mục platform \ android \ cordova \ lib
  2. Chỉnh sửa phần khác của chức năng androidStudioPathkiểm tra null biến get_gradle_wrappernhư dưới đây:

Mã hiện có:

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

Mã sửa đổi:

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

LƯU Ý: Thay đổi này cần được thực hiện mọi lúc khi nền tảng Android bị xóa và thêm lại

CẬP NHẬT: Cách giải quyết trên sẽ hoạt động tốt cho đến phiên bản Cordova Android 6.3.0. Đối với Cordova Android 6.4.0 trở lên, Gradle cần được cài đặt dưới dạng phụ thuộc độc lập. Vui lòng tìm ghi chú phát hành Cordova Android 6.4.0 để biết thêm thông tin về điều này.


Ai đó có thể cho tôi biết lý do tại sao câu trả lời này bị hạ cấp?
Gandhi

nó không giải quyết được vấn đề, cài đặt gradle và thiết lập đường dẫn
rashidnk

@rashidnk đã thử nó trong CLI cordova của tôi và nó hoạt động sau khi tinh chỉnh này. Bạn có thể giải thích những gì bạn đã cố gắng và những gì thất bại?
Gandhi

ok, nhưng tôi không tải xuống, tôi đã thử giải pháp của bạn nhưng nó không hoạt động, sau khi cài đặt gradle và thiết lập biến đường dẫn nó hoạt động
rashidnk

@rashidnk kiểm tra xem câu trả lời này được tích lũy ở đâu - stackoverflow.com/questions/43356833/
Gandhi

2

Chỉ cần cài đặt Gradle thông qua dòng lệnh Nếu bạn đang sử dụng Mac hãy thử

brew install gradle

1

Tôi giải quyết vấn đề này

Tải xuống gradle.ziptừ trang web này https://gradle.org/install . Và làm theo các hướng dẫn được chỉ định trong trang web.

Sau đó mở cmd terminal khác và thực hiện lệnh:

Cordova build android --prod --release
End

1

Trước hết uninstall ion và cordova, sau đó thiết lập các biến envarionment của bạn JAVA_HOME, ANDROID_HOMEPATHsau đó cài đặt lại cordova ion và thêm nền tảng như sau:

$ sudo npm install -g ionic cordova

$ ionic platform add android

Các ion sẽ thiết lập các gói gradle đúng cách.


4
Chỉnh sửa của tôi đã bị từ chối ... vì vậy tôi đăng dưới dạng nhận xét: npmtừ khóa bị thiếu sau sudodòng đầu tiên của mã của bạn.
Hadrien Toma


1

Tôi đang dùng Microsoft Windows:

Tôi đã gặp phải lỗi này sau khi nâng cấp Android Studio từ phiên bản 3.0 lên 3.0 . Tôi đã giải quyết nó bằng cách thay đổi đường dẫn đến lớp trong biến môi trường PATH, hiện là " gradle-4.1 " cho Android Studio 3.0 (trước đây là "gradle-3.2" cho Android Studio 2.3.3 )


1

Đối với người dùng Windows:

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

1

Tôi đã chuyển đường dẫn thư mục Android sang một đường dẫn khác và khắc phục lỗi này.

Tôi đã giải quyết vấn đề này ở bên dưới.

Tôi đã được thay đổi thành đường dẫn Gradle trong các biến hệ thống. Nhưng không phải là đường dẫn trong các biến người dùng. Bạn phải thay đổi đường dẫn trong các biến hệ thống

Ảnh chụp màn hình này

Ảnh chụp màn hình thay thế này


1
brew install gradle

Tóm lại sẽ tiết kiệm thời gian :) Đội Ionic vui lòng sửa lỗi này


0

chỉ cần cài đặt android studio và chọn thư mục sdk của bạn làm thư mục mặc định sdk của studio android và sau đó android studio sửa chữa tất cả các khu vực thiệt hại và tải xuống các tệp cần thiết.


0

Tải xuống lớp mới nhất từ https://gradle.org/install và đặt đường dẫn lớp lên tới bin trong biến PATH của bạn và đường dẫn xuất trong thư mục bạn đang làm việc

ví dụ: 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/pl platform-tools: / home / abc / Dải xuống / nâng cấp-4,4.1 / bin

Tôi đã dành cả ngày để giải quyết điều này và cuối cùng giải pháp này hiệu quả với tôi,



0

Bạn cũng sẽ gặp lỗi này nếu bạn ở trên Windows và đường dẫn dự án của bạn có dấu ngoặc đơn trong đó. ví dụ. "Cordova (một cái gì đó)".

(Ít nhất cho đến khi vấn đề này được khắc phục.)


-3

@Ghandi: Ai đó có thể cho tôi biết lý do tại sao câu trả lời này bị hạ cấp không? Vâng, tại sao? Cuối cùng nó đã giải quyết được vấn đề này ...

Trong tâm trí tôi có một lỗi khi gradle hoặc sdk hoặc android studio được cài đặt trong một thư mục khác sau đó là tiêu chuẩn. Tôi có S: \ android \ Android Studio và S: \ android \ sdk.

Giải pháp do Ghandi cài đặt gradle ở đâu đó một lần nữa, nhưng tôi thực sự bực tức vì điều này: một hoặc hai "lớp" nữa không làm tôi đau nữa


2
Xin đừng thêm ý kiến ​​như câu trả lời. Đầu tư một chút thời gian vào trang web và bạn sẽ có đủ đặc quyền để nâng cao câu trả lời bạn thích hoặc để thêm nhận xét thực tế khi tìm kiếm làm rõ bất kỳ vấn đề nào.
DaveP
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.