Làm cách nào để hướng dẫn Gradle sử dụng Java từ các vị trí khác nhau?


9

Tôi đang xây dựng ứng dụng thử nghiệm của mình trong Android Studio, sau đó trong Nhật ký sự kiện có ghi:

Android Studio đang sử dụng vị trí JDK này: C: \ Program Files \ Android \ Android Studio \ jre khác với những gì Gradle sử dụng theo mặc định: C: \ Program Files (x86) \ Java \ jdk1.8.0_181 Sử dụng các vị trí khác nhau có thể sinh ra nhiều daemon Gradle nếu các tác vụ Gradle được chạy từ dòng lệnh trong khi sử dụng Android Studio.

Sau đó đưa ra các tùy chọn sau:

  1. Thêm thông tin...
  2. Đặt Android Studio để sử dụng cùng JDK với Gradle và đồng bộ hóa
  3. Không hiển thị lại cảnh báo này

Tôi bấm vào:

Đặt Android Studio để sử dụng cùng JDK với Gradle và đồng bộ hóa

sau đó ứng dụng của tôi không muốn xây dựng thêm nữa.

Đây là lỗi:

Đồng bộ hóa lớp không thành công: Không thể bắt đầu quá trình trình nền.
Vấn đề này có thể được gây ra bởi cấu hình không đúng của daemon.

Ví dụ, một tùy chọn jvm không được nhận dạng được sử dụng.
Vui lòng tham khảo chương Hướng dẫn sử dụng trên daemon tại https://docs.gradle.org/5.4.1/userguide/gradle_daemon.html

Dòng lệnh xử lý: C: \ Program Files (x86) \ Java \ jdk1.8.0_181 \ bin \ java.exe -Xmx1536m -Dfile.encoding = windows-1252 -Duser.country = ZA -Duser.l Language = en -Duser. biến thể -cp C: \ Users \ {MyUserName} \. gradle \ Wrapper \ dists \ gradle-5.4.1-all \ 3221gyojl5jsh0helicew7rwx \ gradle-5.4.1 \ lib \ gradle-launcher-5.4.1.jar org.gradle. launcher.daemon.bootstrap.GradleDaemon 5.4.1

Vui lòng đọc kết quả đầu ra sau đây để tìm hiểu thêm:

Xảy ra lỗi trong quá trình khởi tạo VM Không thể dành đủ dung lượng cho heap đối tượng 1572864KB Tham khảo nhật ký IDE để biết thêm chi tiết (Trợ giúp | Hiển thị Nhật ký) (16 giây 166 ms)

Tôi đã kiểm tra nhật ký sự kiện:

Tôi nghĩ trước đây nó đã làm điều này:

Hướng dẫn lớp để sử dụng java từ C: / Tệp chương trình / Android / Android Studio / jre

Bây giờ nó nói điều này:

Hướng dẫn lớp để sử dụng java từ C: / Chương trình tệp (x86) /Java/jdk1.8.0_181

Làm cách nào để đặt nó trở lại như cũ để ứng dụng của tôi có thể xây dựng lại?

Bất kỳ trợ giúp / lời khuyên sẽ được đánh giá cao

Câu trả lời:


2

Chuyển đến Tệp, Cấu trúc dự án, vị trí SDK và thay đổi thả xuống vị trí JDK thành JAVA_HOME.

Cấu trúc dự án trong Androdi Studio 3.6 beta


1
Đã thử rằng sau đó có lỗi tương tự như trong câu hỏi của tôi. Tôi đang dùng Windows 64 bit.
Shiasu-sama

1

Bạn cần thay đổi / thêm một biến môi trường.

Theo liên kết này để biết cách thay đổi / thêm các biến môi trường.

Bây giờ thêm / sửa đổi biến 'JAVA_HOME' và đặt đường dẫn thành C:\Program Files\Android\Android Studio\jre

Lưu ý: Khi bạn sẽ làm việc với một dự án Java khác trong một IDE khác, bạn có thể phải thay đổi lại biến này thành vị trí Java mặc định (có lẽ trong trường hợp này C:/Program Files (x86)/Java/jdk1.8.0_181)


0

Gradle rõ ràng đang sử dụng cài đặt java gốc của tôi (từ Oracle) trong khi Android Studio đang sử dụng phiên bản của chính nó.

Tôi đã bỏ qua cảnh báo này kể từ khi nâng cấp Android Studio lên 3.6.1. Không có vấn đề cho đến nay. Thật vậy, tôi đã phát hành phiên bản mới của ứng dụng của mình mà không gặp vấn đề gì.

Nếu điều này trở nên khó chịu và NẾU bạn không có vấn đề nào khác, bạn có một tùy chọn để bỏ qua các cảnh báo trong tương lai: Chỉ cần nhấn cảnh báo và chọn tùy chọn để bỏ qua các tin nhắn trong tương lai liên quan đến cảnh báo này.


0

Ubuntu 16.04 LTS, Android Studio 3.6

Đó là cách tôi thoát khỏi cảnh báo:

1) định vị tập lệnh khởi chạy AS studio.shtrên máy của bạn, của tôi nằm dưới: /opt/android-studio-3.x/bin
2) bên trong tập lệnh, bạn sẽ tìm thấy các dòng sau:

# ---------------------------------------------------------------------
# Locate a JDK installation directory which will be used to run the IDE.
# Try (in order): STUDIO_JDK, studio.jdk, ./jre64, JDK_HOME, JAVA_HOME, "java" in PATH.
# ---------------------------------------------------------------------
if [ -n "$STUDIO_JDK" -a -x "$STUDIO_JDK/bin/java" ]; then
  JDK="$STUDIO_JDK"
fi

if [ -z "$JDK" -a -s "$HOME/.AndroidStudio3.6/config/studio.jdk" ]; then
  USER_JRE=`"$CAT" $HOME/.AndroidStudio3.6/config/studio.jdk`
...

3) nếu, vì một số lý do, bạn không thể xuất các biến môi trường của mình sang trình khởi chạy (giống như nó xảy ra với tôi từ phiên xfce4), bạn có thể viết JAVA_HOMEgiá trị mong muốn bên trong studio.jdktệp có vị trí trên hệ thống của tôi, theo kịch bản, là trong $HOME/.AndroidStudio3.6/config/studio.jdk.

$ echo $JAVA_HOME > $HOME/.AndroidStudio3.6/config/studio.jdk
$ cat $HOME/.AndroidStudio3.6/config/studio.jdk
/usr/lib/jvm/java-8-oracle

4) cuối cùng, bằng cách khởi động AS so với phiên DE, bạn sẽ thấy JAVA_HOMEdưới File -> Cấu trúc dự án -> SDK Location cửa sổ thiết lập để các giá trị ở trên, cả AS và gradle nên sử dụng JRE cùng:

Cửa sổ kết cấu dự án


-1

Trên Android Studio tôi đã làm:

Tệp> Cấu trúc dự án ...> Vị trí SDK (Trên khung bên trái)

Sau đó, ở phía dưới có một thả xuống bên dưới: vị trí JDK:

Sau đó tôi đã chọn / duyệt đến thư mục này:

C: \ Tệp chương trình \ Java \ jdk1.8.0_181

Gradle Sync đã hoạt động trở lại với tôi sau đó nhưng tôi vẫn nhận được cảnh báo này:

Android Studio đang sử dụng vị trí JDK này: C: \ Program Files \ Java \ jdk1.8.0_181 khác với những gì Gradle sử dụng theo mặc định: C: \ Program Files (x86) \ Java \ jdk1.8.0_181 . Sử dụng các vị trí khác nhau có thể sinh ra nhiều daemon Gradle nếu các tác vụ Gradle được chạy từ dòng lệnh trong khi sử dụng Android Studio.

  1. Thêm thông tin...
  2. Đặt Android Studio để sử dụng cùng JDK với Gradle và dự án đồng bộ hóa
  3. Không hiển thị lại cảnh báo này

Sau đó, tôi nhấp vào không thỏa mãn: "Không hiển thị cảnh báo này nữa": /
Shiasu-sama
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.