Câu hỏi 'android-24' yêu cầu JDK 1.8 trở lên để biên dịch


Tôi sử dụng Android Studio và gần đây đã nhận được lỗi:

Lỗi: Thực hiện không thành công cho tác vụ ': app: compileDebugJavaWithJavac'.   compileSdkVersion 'android-24' yêu cầu JDK 1.8 trở lên để biên dịch.

Nhưng tôi đã cài đặt JDK 1.8 rồi:

: \ Users ..> java -version
  phiên bản java "1.8.0_91" Java (TM) SE Thời gian chạy
  Môi trường (xây dựng 1.8.0_91-b15) Máy chủ Java 64-bit của Java HotSpot (TM)
  (xây dựng 25,91-b15, chế độ hỗn hợp)

Làm thế nào để sửa chữa nó? Cảm ơn


76
2018-06-21 00:04


gốc


Cảm ơn. Nó hoạt dộng bây giờ. - T D Nguyen
Lợi ích gì với jdk 1.8? - Andreyua


Các câu trả lời:


Trong Android Studio mở:
File > Project Structure > xem vị trí JDK có trỏ tới thư mục JDK 1.8 của bạn không.

Chú thích: bạn có thể dùng compileSdkVersion 24


179
2018-06-21 00:16



Bằng cách nào đó, thay đổi sang JDK8 bằng cách sử dụng giải pháp trên đã không hoạt động. File-> Project Structure-> Vị trí JDK được hoàn nguyên về jdk1.7 trong mỗi lần xây dựng. Giải pháp của @Szelk Baltazár đã làm việc cho tôi. - garnet
Như đã nói ở trên, vị trí JDK được hoàn nguyên về mức 1.7 và giải pháp của @Szelk Baltazár cũng không hoạt động. Vì vậy, hãy xác định lại các biến hệ thống như trong stackoverflow.com/a/35974928/2914140, đóng Android Studio (và có thể khởi động lại máy tính). Thay đổi vị trí bằng cách xóa tệp jdk.table.xml như được mô tả trong stackoverflow.com/a/38067170/2914140. Tất cả đều khủng khiếp trong thế giới Java. - CoolMind


Tôi có cùng một vấn đề trong nhiều ngày. Tôi tìm thấy một giải pháp mà làm việc từ tôi trên Windows. (Tôi cũng thiết lập các biến môi trường, nhưng không biết liệu nó có cần thiết không.)

Thêm các dòng này vào tệp build.gradle:

android {
     ...
     defaultConfig {
          ...
          jackOptions {
              enabled true
          }
     }
     compileOptions {
         targetCompatibility 1.8
         sourceCompatibility 1.8
     }
}

Nguồn: https://code.google.com/p/android/issues/detail?id=203850


9
2018-06-22 06:20



điều này làm việc cho tôi .. nhờ bình luận của garnet - Shachi


Tôi đã cài đặt jdk mới nhất nhưng nó đã được sử dụng cũ hơn cho đến khi tôi đã làm điều này:

app rt-click >> module settings >> sdk location >> (old jdk path)

Thay thế đường dẫn JDK cũ bằng đường dẫn jdk mới của bạn.

Làm việc giống như một nét duyên dáng bây giờ :)


2
2017-08-02 11:47





Chỉ là một FYI tôi đã có lỗi này với một dự án Ionic. Tất cả các lệnh quay trở lại trỏ đến đúng JDK và JAVA_HOME đã được đặt chính xác.

Đã có một mục trong PATH của tôi để JDK 1.7 \ bin, thay thế với 1,8 \ bin cố định nó cho tôi.


2
2017-10-28 12:04





Tôi cũng đang chạy vào cùng một vấn đề từ dòng lệnh trên máy Mac của tôi, nhưng câu trả lời là JAVA_HOME đã bị ghi đè. Để theo dõi nơi nó đang nhận được ghi đè đầu tiên kiểm tra java từ dòng lệnh:

$ java -version
java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)

Sau đó kiểm tra phiên bản Java mà Gradle đang sử dụng:

$ gradle -version

------------------------------------------------------------
Gradle 2.13
------------------------------------------------------------

Build time:   2016-04-25 04:10:10 UTC
Build number: none
Revision:     3b427b1481e46232107303c90be7b05079b05b1c

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_92 (Oracle Corporation 25.92-b14)
OS:           Mac OS X 10.11.5 x86_64

Tại thời điểm này, tôi vẫn chưa tìm thấy nguồn gốc của vấn đề. Đã đào bới một chút và thấy rằng nó thực sự bị ghi đè trong gradle.properties tệp mặc dù nó đang hiển thị Java 8 khi tôi thực hiện gradle -version:

org.gradle.daemon=true
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
org.gradle.jvmargs=-XX:MaxPermSize=512m -XX:-UseSplitVerifier -Xms512m -Xmx6144m

Để khắc phục, tôi vừa xóa java.home dòng từ gradle.properties. Hy vọng rằng điều này sẽ giúp nếu bất cứ ai khác đang chạy vào cùng một vấn đề từ dòng lệnh.


0
2018-06-21 17:40





Trong Android Studio mở: Tệp> Cấu trúc dự án> Vị trí SDK> Chọn jdk1.8.0_101.jdk> Trang chủ


0
2017-08-29 16:22





Tôi cũng đang chạy vào cùng một vấn đề từ dòng lệnh trên Windows của tôi, nó cho thấy cùng một gợi ý.

Error:Execution failed for task ':app:compileDebugJavaWithJavac'. `compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.`

kiểm tra JDK location trong Project Structure.

Trong Android Studio mở: File > Project Structure > xem liệu vị trí JDK   trỏ đến thư mục JDK 1.8 của bạn.

Nó sẽ giống như

JDK Location
C:\Program Files\Java\jdk1.8.0_91

Tôi đã đặt đúng vị trí thành JDK.

kiểm tra phiên bản java

D:\AndroidSelfTrainingProject\CustomBuildIdDemo>java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

kiểm tra phiên bản gradle

.D:\AndroidSelfTrainingProject\CustomBuildIdDemo>gradle -v

------------------------------------------------------------
Gradle 2.10
------------------------------------------------------------

Build time:   2015-12-21 21:15:04 UTC
Build number: none
Revision:     276bdcded730f53aa8c11b479986aafa58e124a6

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.7.0_79 (Oracle Corporation 24.79-b02)
OS:           Windows 7 6.1 amd64

Phiên bản JVM phải là 1.8. Để khắc phục, chúng tôi có thể thêm vào gradle.property Trong gradle.properties bên trong .gradle thư mục trong của bạn HOME_DIRECTORY bộ org.gradle.java.home=/path_to_jdk_directory. Đối với tôi, nó giống như:

org.gradle.java.home=C:/Program Files/Java/jdk1.8.0_91

Để xác minh xem nó có được đặt đúng hay không, chúng ta có thể thực hiện gradle build bài tập.

D:\AndroidSelfTrainingProject\CustomBuildIdDemo>gradle build
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon
: https://docs.gradle.org/2.10/userguide/gradle_daemon.html.

To run dex in process, the Gradle daemon needs a larger heap.
It currently has approximately 910 MB.
For faster builds, increase the maximum heap size for the Gradle daemon to more than 2048 MB.
To do this set org.gradle.jvmargs=-Xmx2048M in the project gradle.properties.
For more information see https://docs.gradle.org/current/userguide/build_environment.html

0
2017-09-27 20:09



Nếu bất cứ ai có thể giúp tôi sửa chữa định dạng của câu trả lời này, điều đó sẽ rất được đánh giá cao. - Francis Bacon


Trên Windows 10, lần đầu tiên tôi kiểm tra Cấu trúc dự án và nó trỏ đến một 1.7 jdk cũ. Tôi đã đóng Android Studio rồi đổi tên các jdks cũ (và các thư viện jre để nhất quán) để lại thư viện 1.8 mới nhất một mình. Khi tôi khởi động lại Android Studio và cố gắng xây dựng ứng dụng, nó đã hỏi tôi về thư viện Java JDK và tôi đã đưa đường dẫn đến thư viện 1.8 JDK mới nhất. Trên hệ thống của tôi, đó là C: \ Program Files \ Java \ jdk1.8.0_112.


0
2018-05-19 15:05