Android N yêu cầu IDE chạy với Java 1.8 trở lên?


117

XMLBố cục của tôi không hiển thị với thông báo lỗi này. Tôi đã sử dụng Java 8.

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

Cũng sử dụng các công cụ xây dựng mới nhất trong Gradle.

android {
    compileSdkVersion 'android-N'
    buildToolsVersion 24.0.0 rc1
    ...
}

Lỗi XML -

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


2
Có tất cả các loại vấn đề kết xuất với Android Studio. Tôi đề nghị bạn cung cấp một ví dụ có thể tái tạo tối thiểu . Trong trường hợp này, điều đó sẽ bao gồm tệp bố cục và lỗi cụ thể.
CommonsWare

@CommonsTôi đã cập nhật hình ảnh lỗi XML. Cài đặt JDK được hỗ trợ đã chuyển hướng tôi đến thiết lập các bước mà tôi đã làm.
mjosh

1
Tôi đã phải thay đổi thành buildToolsVersion '24 .0.0 rc1 ', tài liệu bị thiếu dấu ngoặc kép.
Phyrum Tea

@PhyrumTea Không làm cho lỗi biến mất.
mjosh

1
Cuối cùng, khi tôi cố gắng xây dựng và chạy dự án, nó đã thất bại với Directory cannot have its readable permission cleared for everybody. Rõ ràng đó là một lỗi đã biết và google đang làm việc với nó.
mjosh

Câu trả lời:


187

Tôi gặp phải lỗi tương tự như bạn mô tả nhưng trên OS X. Tôi biết điều này có thể không giải quyết được sự cố của bạn (vì tôi không biết lỗi tương tự đối với Windows), nhưng vì đây không phải là hệ điều hành cụ thể nên tôi để lại giải pháp cho bất kỳ thành viên OS X nào. ngoài đó. Chỉnh sửa tệp /Applications/Android\ Studio.app/Contents/Info.plistvà xóa phiên bản 1.6 (trong trường hợp của tôi), bạn có thể đặt 1.6+, 1.7+ hoặc 1.8, tùy theo bạn muốn. Của tôi đã kết thúc như thế này

...
<key>JVMVersion</key>
<string>1.7+</string>
...

Hãy lưu ý rằng có sự không tương thích với tính năng kéo và thả với java phiên bản 1.8_60 đến 1.8_75 ( IDEA-146691 ) mà IDE sẽ báo cáo sau khi bạn thay đổi phiên bản thành công.

Đối với người dùng không phải là người dùng đầu cuối

  1. Tìm Android Studio.apptệp của bạn . Nếu nó ở trong dock, bạn có thể nhấp chuột phải vào nó và chọn Options > Show in Finder.
  2. Nhấp chuột phải vào nó và chọn Show package content.
  3. Điều hướng đến tệp được đề cập ( Contents/Info.plist).
  4. Chỉnh sửa tệp bằng trình soạn thảo văn bản yêu thích của bạn.

11
Thao tác này sẽ thay đổi máy ảo nơi Android Studio chạy trên đó. Trong OSX của tôi, giá trị ban đầu là: <key> JVMVersion </key> <string> 1.6 *, 1.7 +, 1.8 </string> Và giá trị mới là: <key> JVMVersion </key> <string> 1.8 </ string>
santhyago

8
Nó hoạt động! Cảm ơn vì giải pháp này. Câu hỏi đặt ra là: Tại sao Google lại muốn các nhà phát triển của mình lãng phí thời gian vào các vấn đề này?
Kotik_o

3
Cảm ơn bạn đã giải quyết vấn đề thiếu tài liệu của google :). Tôi tự hỏi tại sao hướng dẫn này không có ở đây: developer.android.com/intl/pt-br/preview/setup-sdk.html#java8 (Đây là liên kết được hiển thị tại studio android).
Totalys

7
Hoạt động tuyệt vời !! Đáng buồn thay, khi cập nhật Android Studio (mà tôi vừa làm lên phiên bản mới nhất), nó sẽ đặt lại tệp Info.plist, vì vậy tôi phải lặp lại các bước một lần nữa để thay đổi JVMVersion của mình: <key>JVMVersion</key> <string>1.8</string>Android Studio thật khó chịu!
Vi

3
Android Studio 2.2 sử dụng <string> 1.8 *, 1.8 + </string>.
jmnwong

147

Nhấp vào chữ N, bên cạnh biểu tượng android trong cửa sổ Xem trước và chọn API cấp 23 trở xuống. Điều đó sẽ giải quyết nó.

Hàng biểu tượng đầu tiên trong cửa sổ rpeview


25
Nhưng tôi muốn xem trước trong N không phải trong API 23.
mjosh

3
Tôi đã gặp vấn đề tương tự trên máy Mac của mình. tôi đã hạ cấp API từ 24 xuống 23.
salman

3
không phải là một câu trả lời, hãy làm theo các câu trả lời được đánh dấu là đúng
Pavneet_Singh

Đây không phải là một câu trả lời. Đây chỉ là bỏ qua môi trường có vấn đề.
enadun

Tốt lắm. Có, nó đã giải quyết vấn đề của tôi. Cảm ơn bạn. :)
arango_86

63

Trong trường hợp của tôi, thiết lập JDK_HOMEJAVA_HOMEcác biến môi trường C:\Program Files\Java\jdk1.8.0_60.

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

Kiểm tra phiên bản Java trong Help > About. Nó sẽ hiển thị phiên bản JRE mà bạn vừa đặt.

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

Vậy là xong, bây giờ bạn có thể xem trước bố cục của mình trong N.


1
Tôi đã làm những gì bạn nói nhưng khi tôi giúp-> về nó vẫn chỉ về jdk cũ của tôi. Tại sao vậy?
The_Martian

1
Tôi có JRE: 1.8 (trong khoảng). Tuy nhiên, tôi không thể tạo ứng dụng nhắm mục tiêu v24. > compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.
Zapnologica

1
@The_Martian bạn cần khởi động lại máy tính của mình.
ép vào

1
Trên Mac Os, tôi xóa phiên bản jdk cũ của mình. Sau đó, Android Studio chọn phiên bản mới nhất
lopez.mikhael

1
@ lopez.mikhael đó thực sự là thứ duy nhất hiệu quả với tôi cuối cùng. Tôi đã thay đổi mọi cài đặt có thể mà tôi có thể tìm thấy, định cấu hình mọi thứ chính xác theo cách tôi phải làm, tiếp tục gặp lỗi. Cuối cùng, tôi đã chuyển các thư mục jdk cũ hơn sang một thư mục con mà tôi đặt tên là old_jdks trong thư mục JavaVirtualMachine. Mọi thứ đều hoạt động tốt.
zgc7009

27

Đối với người dùng Mac gặp sự cố này (tôi đang chạy OS X 10.11.5 và Android Studio 2.1.2), đây là cách bạn có thể giải quyết:

Hiện tại, phiên bản Mac của Android Studio được chạy với Java 6 (không nhất thiết phải giống với phiên bản JDK cho ứng dụng), vì Java 6 có khả năng hiển thị phông chữ tốt hơn Java 7 & 8 và điều đó dường như quan trọng hơn việc hiển thị bố cục của bạn.

Trước hết, hãy đảm bảo rằng bạn đã cài đặt JDK 8 .

Sau đó chạy các lệnh sau:

$ export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk
$ open /Applications/Android\ Studio.app/

Bạn có thể cần phải thay đổi 91trong jdk1.8.0_91.jdkmột phiên bản khác nhau. Bạn có thể xem bạn có phiên bản JDK nào:

$ ls /Library/Java/JavaVirtualMachines/

Thật không may, phương pháp này yêu cầu mở ứng dụng từ thiết bị đầu cuối, nhưng bạn luôn có thể tạo một tập lệnh cho nó.

Thêm thông tin

Chỉnh sửa: Và nếu bạn thực sự không muốn mở nó từ thiết bị đầu cuối:

  1. Tạo một AppleScript với nội dung: do shell script "export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk; open /Applications/Android\\ Studio.app/"
  2. Tệp> Lưu Chọn định dạng tệp Ứng dụng . Lưu nó ở đâu đó.
  3. Nếu bạn muốn thay đổi biểu tượng, hãy xem tại đây.
  4. Kéo ứng dụng vào bệ khởi chạy của bạn nếu bạn muốn.

khi tôi cố gắng chạy tập lệnh mà tôi nhận được: error "sh: /usr/local/bin/studio: No such file or directory" number 127có cách nào để khắc phục không? khi tôi chạy nó từ thiết bị đầu cuối, nó hoạt động hoàn hảo
Daniele

@Daniele Xin lỗi, tôi quên rằng tôi đã tạo một tập lệnh shell khác cho việc đó. AppleScript phải có các lệnh tương tự như trên. Xem câu trả lời cập nhật của tôi.
wumbo

5

Tôi đã gặp vấn đề tương tự.

Tôi đã cài đặt jdk1.6, jdk1.7, jdk1.8 và triển khai Studio như những gì bạn đã làm.

Giải pháp của tôi là gỡ cài đặt jdk1.6 và jdk1.7, chỉ để lại jdk1.8

sudo rm -rf ${path to jdk1.6}
sudo rm -rf ${path to jdk1.7}

Đó là tất cả.


điều đó có an toàn để làm không
Micro

@MicroR Nếu bạn thấy các phần mềm khác không phụ thuộc vào jdk1.6 và jdk1.7, thì tôi nghĩ nó an toàn.
youngwind

Giải pháp này đã khắc phục sự cố cho tôi. Bằng cách này các gỡ bỏ cài đặt an toàn và là một trong những khuyến cáo của Oracle ( docs.oracle.com/javase/8/docs/technotes/guides/install/... )
Showpath

2

Tôi đang sử dụng Ubuntu 14.04 và tôi gặp phải lỗi tương tự, với sự khác biệt là tôi không có NDK. Giải pháp của tôi là, sau khi thiết lập Java 8 trong định nghĩa dự án, khởi động lại Android Studio, không cần nữa.

Kiểm tra phiên bản Java hệ thống, trong bảng điều khiển "java -version", đầu ra sẽ nói như thế này

java version "1.8.0_91"

Tôi đã đặt JAVA_HOME = "/ Library / Java / JavaVirtualMachines / jdk1.8.0_91.jdk / Contents / Home" Có nên STUDIO_SDK cũng là "/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home"?
mythicalcoder,

@Maven về mặt lý thuyết, bạn có thể đặt biến STUDIO_SDK sẽ là đường dẫn SDK để chạy Android Studio (như đã nói trong phần config params tools.android.com/tech-docs/configuration của Studio ). Tuy nhiên, trong trường hợp của tôi, tôi đã không đặt biến đó và IDE đang chạy như mong đợi.
Sergio A Guzmán,

Bạn đúng rồi. Tôi đã thử những thứ khác nhau. Đó thực sự là vấn đề của 1.8 không được liên kết đúng cách. Điều này đã giải quyết nó stackoverflow.com/a/35935433/2369867 . Cảm ơn.
mythicalcoder,

2

Gặp vấn đề tương tự với Ubunutu. Sự cố không chạy IDE với Java8.

Tôi đã sửa nó bằng cách cập nhật chương trình java mặc định của HĐH, bằng cách sử dụng:

sudo update-alternatives --config java

Và chọn đường dẫn Java8 có liên quan.


1

Tôi gặp phải sự cố "Android N yêu cầu IDE phải chạy với Java 1.8 trở lên." Lỗi vẫn tiếp tục hiển thị mặc dù được đặt C:\Program Files\Java\jdk1.8.0_92làm JDK của dự án trong File > Project Structure.

Tôi đã giải quyết nó bằng cách cập nhật JAVA_HOME trong các biến môi trường của tôi từ C:\Program Files\Java\jdk1.7.0_67thành C:\Program Files\Java\jdk1.8.0_92. Khi tôi làm điều đó và khởi động lại Android Studio, chế độ thiết kế đã có sẵn.

Hệ điều hành: Windows 10

Android Studio: 2.1.2


1

Tôi đã giải quyết nó theo cách này. (AS + MAC OX El Capitan)

  1. Cập nhật Công cụ SDK> Công cụ nền tảng SDK Android
  2. Đi tới Trợ giúp> Chỉnh sửa Thuộc tính Tùy chỉnh> Một hộp thoại sẽ nhắc (nhấn có) sau đó viết

    JVMVersion=1.8 

Sau đó, đóng hoàn toàn Android Studio và tải lại dự án



0

Vấn đề của tôi là Android N đã được "cài đặt một phần".

Giải pháp của tôi là truy cập - Tùy chọn / Giao diện và Hành vi / Cài đặt hệ thống / Android SDK và kiểm tra Trạng thái. Nếu nó "được cài đặt một phần" thì bạn phải gỡ cài đặt rồi cài đặt lại. (Bỏ chọn hộp kiểm và nhấn áp dụng; nó sẽ gỡ cài đặt; sau đó bạn có thể chọn hộp và cài đặt lại) Đã làm việc cho tôi. Nếu bạn chuyển sang phiên bản thấp hơn (như 23) thì bạn phải thay đổi biến buildToolsVersion thành "23.0.0" trong build.gradle.


1
Của tôi vẫn nói "được cài đặt một phần" sau khi cài đặt lại.
Andrew

Của tôi quá "cài đặt một phần" sau khi cài đặt lại. @Andrew bạn có tìm ra giải pháp nào sau đó không?
mythicalcoder,

@Maven đối với tôi, hóa ra vấn đề của tôi là tôi không chọn đúng biến thể bản dựng khi thử xây dựng ứng dụng.
Andrew

0

Tôi đã phải đối mặt với cùng một vấn đề gần đây. Thử thay đổi cấp xem trước API thành 23 hoặc thấp hơn. Điều đó đã làm việc cho tôi.


0

Tôi đã phải đối mặt với cùng một vấn đề. Hãy đảm bảo rằng bạn đang hiển thị bố cục XML cho phiên bản SDK đã biên dịch (Không được lớn hơn). Có nghĩa là bạn sẽ phải đối mặt với điều này nếu bạn đang biên dịch mã bằng Targeted SDK phiên bản 23 và bạn đang cố gắng hiển thị XML trong SDK phiên bản 24.


0

Có một số điều cần nhớ khi đặt STUDIO_JDK trên Mac OS:

  • theo mặc định, Java 1.6 của Apple được sử dụng để khởi động Android Studio
  • khi STUDIO_JDK được đặt thành Java của Oracle, nó sẽ được Android Studio sử dụng để chạy

Sự khác biệt giữa hai là Java IMO của Apple cung cấp khả năng khử răng cưa phông chữ đẹp hơn và tốt hơn trong IDE.

Một câu trả lời ở đây đề cập đến một lỗi trong Android Studio liên quan đến khử răng cưa phông chữ. Vé đã được đóng nhưng vẫn hiển thị khác với Apple Java và Oracle SDK (tôi có v1.8.0_102). Và cái trước vẫn có nhận thức tốt hơn cái trước.


0

cố gắng sử dụng trong dự án Java 1.8 - tải xuống phiên bản mới nhất của JDK và cài đặt nó (nếu không có JSK)

Sau đó thêm vào build.gradle các dòng này android {... // Chỉ định cấu hình cho từng mô-đun sử dụng các tính năng của ngôn ngữ Java 8 // (hoặc trong mã nguồn của nó hoặc // thông qua các phụ thuộc). compileOptions {sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8} // Đối với các dự án Kotlin, kotlinOptions {jvmTarget = "1.8"}}


-1

machine: windows8 64bit trong trường hợp của tôi, jdk1.7 mà tôi đã cài đặt là 32 bit, do đó tôi đang sử dụng studio.exe (32bit) nên ngay cả khi tôi tải xuống jdk1.8 (64bit) phiên bản studio mới mà tôi đang sử dụng (32bit) vẫn không thể ' t phát hiện ra nó, nhưng khi tôi gỡ cài đặt jdk cũ hơn và cố gắng chạy lại studio.exe, tôi được yêu cầu cài đặt jdk 32 bit. vì vậy tôi đã chạy studio64.exe và nó chạy trơn tru. đảm bảo bạn có đường dẫn chính xác trong các biến môi trường của mình. cổ vũ android N


-1

Đảm bảo rằng bạn đã cài đặt jdk cho x64 chứ không phải x84 khi khởi động Android Studio (x64)

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

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.