Lỗi: compileSdkVersion android-21 yêu cầu biên dịch với JDK 7


106

Trong khi biên dịch, tôi gặp lỗi Error:compileSdkVersion android-21 requires compiling with JDK 7, nói rằng cần có phiên bản JDK mới hơn.

Tôi đang chạy trên OS X Yosemite với Android Studio v0.8.14

Những thứ tôi đã kiểm tra:

  1. Phiên bản Java:

java version "1.8.0_25" Java(TM) SE Runtime Environment (build 1.8.0_25-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

  1. Bên trong thư mục JavaVirtualMachine, tôi chỉ có thể thấy 1.6.0.jdkthư mục, tôi không thể tìm thấy bất kỳ thư mục nào khác.

  2. Đã thử cài đặt lại JDk 8 và 7!

Tôi không thể tìm thấy vị trí thư mục của jvm 1.8, bất kỳ ý kiến ​​nào tôi có thể khắc phục ở đó.


Tôi có một vấn đề tương tự. Bạn đã tìm ra giải pháp cho điều này chưa?
gsueagle2008

@EricCumbee Sử dụng Jdk 7 như hình dưới đây đã giải quyết được vấn đề.
Arjun Komath

4
Thật vô lý khi đây là trải nghiệm lần đầu tiên.
Andy

Câu trả lời:


224

Cách khắc phục chính xác cho vấn đề này (Người dùng Android Studio trên Mac)

Nếu bạn đã nâng cấp lên Java 8, xin lưu ý rằng vị trí JDK hiện nằm trong /Library/Javaso với vị trí của Java 6 /System/Library/Java. Vì vậy, để khắc phục vấn đề này, bấm chuột phải vào Project folder> Project Structure>SDK Location.

Sau đó thay đổi vị trí JDK thành

/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home

Nếu bạn đã cài đặt phiên bản JDK khác (không phải Java 8), hãy tìm hiểu đường dẫn bằng cách sử dụng java_hometập lệnh trước và sử dụng đầu ra. Chỉ cần chạy,

/usr/libexec/java_home 

10
Cảm ơn @Subin Đối với Android studio 1.0.1 SDK Vị trí nằm trong File > Project Structurehoặc đơn giản là nhấnCommand + ;
Husam

1
Perfect câu trả lời cho người dùng của studio android .. đã cứu tôi
reidisaki

đường dẫn được đề cập bên dưới đã hoạt động đối với tôi /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home
Teja Swaroop

2
Tôi nghiêm túc tiếp tục xem xét vị trí của mình và nghĩ rằng nó ổn nhưng chỉ tiếp tục nhìn thấy jdk1.6 cho đến khi tôi nhận ra ý của bạn về việc đảm bảo bạn đang ở trong / Library / Java thay vì / System / Library / Java nơi tôi dễ dàng tìm thấy jdk1. 8 để truy cập Nội dung / Trang chủ và bùng nổ, giờ đây Android Studio hoạt động mà không gặp lỗi liên tục. Bạn là một vị thánh!
ColossalChris

1
Điều này cũng hoạt động cho Windows! Chỉ cần trỏ đến cài đặt JDK. Ví dụ:C:\Program Files\Java\jdk1.8.0_51
ADTC

29

Trên thực tế, tôi vừa tìm thấy giải pháp - JDK 7 nằm trong /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home.

điều đó làm cho nó hoạt động cho tôi. Oracle Docs nơi JDK7 được cài đặt


2
Tôi không thể thấy thư mục này! của tôi chỉ hiển thị thư mục này1.6.0.jdk
Arjun Komath

Tôi không thể nhớ Android Studio đã tìm ở đâu ban đầu nhưng thư mục 1.7 JDK không nằm trong cùng cây thư mục với 1.6.0jdk.
gsueagle2008

6
@Arjun cũng có sự nhầm lẫn giống như của bạn. Nhưng sau đó tôi chỉ nhận ra rằng thư mục "Java" của JDK 7 thực sự được đặt trong /Library/Javađó thay vì được /System/Library/Javaphân tách từ JDK 6 của tôi
akhy

Vậy bằng tiếng Anh đơn giản, bạn thực sự đã làm gì để khắc phục sự cố?
JGallardo

{ROOT} /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/
gsueagle2008

10

Tôi có một giải pháp. Nó cũng xảy ra với tôi và tôi đã tìm kiếm rất nhiều trên Google nhưng tất cả những gì tôi nhận được chỉ là những gợi ý. Rất nhiều gợi ý. Và tôi đã nghĩ ra một giải pháp bắn chắc chắn.

Điều này là do máy tính không được cài đặt JDK 7 (hoặc cao hơn). Thư mục JDK trong AS / Configuration có thể trỏ đến JDK6. (Hệ thống / Thư viện đó / ...)

Tất cả những gì bạn cần làm là:

  1. Tải xuống JDK mới nhất.
  2. Cài đặt nó.
  3. Trỏ Android Studio / Định cấu hình / Mặc định dự án / Cấu trúc dự án / (Vị trí JDK:) đến / Thư viện / Java / JavaVirtualMachines / jdk1.8.0_25.jdk / Nội dung / Trang chủ

Văn bản được tô đậm-in nghiêng có thể khác nhau, vì vậy bạn nên duyệt qua. Hi vọng điêu nay co ich. Đã dành cả ngày lộn xộn với gradle, studio android. Chúc bạn viết mã vui vẻ.


7

Tôi thấy câu trả lời của Eric và Subin kết hợp đã giải quyết được vấn đề của tôi:

tức là cần đặt java JDK thành câu trả lời của Eric (giả sử bạn đang sử dụng JDK 7):

/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home.

Sai lầm tôi đã thực hiện là tôi đã cố gắng chỉ chọn thư mục jdk1.7.0_71.jdk và tôi tiếp tục nhận được thông báo lỗi "Vui lòng chọn một thư mục JDK hợp lệ".

Tôi đang làm việc trên định dạng trước đây được sử dụng cho JDK 6 :( - Nó hoạt động khi tôi cung cấp cho nó đường dẫn đầy đủ vào Contents / Home.

Câu trả lời của Subin cho bạn biết cách tìm vị trí JDK của bạn, có thể khác nhau tùy thuộc vào những gì bạn đang cố gắng thực hiện.

Cảm ơn Eric và Subin!


3

Tôi chia sẻ điều này vì tôi muốn giúp những người tìm thấy câu hỏi này khi họ tìm thấy lỗi trên Google. Hầu hết các "câu trả lời" khác trên internet đều rất tốn thời gian. Hãy làm theo bên dưới trước khi bạn lãng phí quá nhiều thời gian như tôi.


Những gì tôi đã làm là tải xuống JDK 7

Sau đó, thay đổi cài đặt của jdk thành 1.7.0

nhập mô tả hình ảnh ở đây


3

Tôi cũng đã gặp vấn đề này. Cho đến nay, tôi không thể tìm thấy bản sửa lỗi cho nó, vì vậy tôi đã sử dụng đến việc thay đổi phiên bản SDK tối đa thành 20, hoạt động với JDK6.

Đối với vị trí tệp, thay vì Android studio giả định nó phải nằm trong / System / Library / Java / JavaVirtualMachines / Insert JDK version / Contents / Home.

Trên thực tế, JDK của tôi được cài đặt trong / Library / Java / JavaVirtualMachines / JDK Version Here / Contents / Home.

Việc cố gắng chọn một JDK trong thư mục thực mà nó được cài đặt khiến android studio nói rằng tôi cần chọn một vị trí JDK hợp lệ. Hiện tại, tôi không thể tìm ra bản sửa lỗi, vì vậy, giống như tôi đã nói ở trên, tôi đã sử dụng đến việc thay đổi phiên bản SDK tối đa thành 20 thay vì 21 và nó sẽ tiếp tục như vậy cho đến khi có nhiều người hơn mắc phải lỗi để Google sửa nó. Hoặc cho đến khi một bản sửa lỗi thực sự được đăng trực tuyến thay vì 101 cách khiến nó không hoạt động.

Hy vọng điều này sẽ giúp ích cho bây giờ, nó không thực sự là một giải pháp / câu trả lời nhưng nó là một công việc xung quanh phù hợp với tôi, vào lúc này.


0

nếu bạn chỉ có thư mục 1.6.0.jdk thì hãy truy cập liên kết này và tải xuống và cài đặt jdk 1.7. sau đó tìm thư mục java của bạn trong đường dẫn này

/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home

0

Các giải pháp trên chủ đề này không hợp lệ cho cùng một lỗi trong Android Studio 1.4. Ví dụ, menu tùy chọn đã biến mất. Dưới đây là giải pháp cho Android Studio 1.4 chạy trên Ubuntu 14.04.

Để giải quyết trong Ubuntu 14.04+ và Android Studio 1.4+, bạn cần truy cập

Tệp -> Cài đặt khác -> Cài đặt mặc định -> Xây dựng, Thực thi, Triển khai -> Trình biên dịch -> Trình biên dịch Java -> Phiên bản Project Bytecode

Trình đơn thả xuống này sẽ trống theo mặc định.

Đặt thành JDK ưa thích của bạn, trong trường hợp chụp màn hình bên dưới, 1.8.

màn hình sdk android

Thì đấy, dự án của bạn sẽ được biên dịch.


0
  1. Tải xuống từ đây JDK mới nhất.
  2. Mở công cụ dòng lệnh.
  3. Sao chép và dán dòng sau vào công cụ dòng lệnh của bạn và nhấn quay lại.

/ usr / libexec / java_home

  1. Sao chép đầu ra của lệnh này.
  2. Quay lại dự án Android của bạn và điều hướng như bên dưới

Tệp -> Cấu trúc dự án -> Vị trí JDK

chỉnh sửa (nhấp vào hình vuông có ba dấu chấm) vị trí JDK (thứ 2 trong hình ảnh) và dán đầu ra công cụ dòng lệnh vào đó.

nhập mô tả hình ảnh ở đây Tôi đã tập hợp các hướng dẫn này bằng cách sử dụng MacBook Pro.

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.