Android N wymaga, aby IDE działało z Javą 1.8 lub nowszą?

117

Mój XMLukład nie renderuje się i wyświetla ten komunikat o błędzie. Używam już Java 8.

wprowadź opis obrazu tutaj

Korzystając również z najnowszych narzędzi do kompilacji w Gradle.

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

Błąd XML -

wprowadź opis obrazu tutaj

mjosh
źródło
2
W Android Studio występuje wiele problemów z renderowaniem. Proponuję podać minimalny powtarzalny przykład . W tym przypadku obejmowałoby to plik układu i określony błąd.
CommonsWare
@CommonsWare Zaktualizowałem obraz błędu XML. Zainstalowanie obsługiwanego JDK przekierowało mnie do skonfigurowania kroków, które już zrobiłem.
mjosh
1
Musiałem zmienić na buildToolsVersion '24 .0.0 rc1 ', w dokumentacji brakowało cudzysłowów.
Phyrum Tea
@PhyrumTea Błąd nie zniknął.
mjosh
1
Wreszcie, gdy próbowałem zbudować i uruchomić projekt, nie udało mi się Directory cannot have its readable permission cleared for everybody. Podobno jest to znany błąd i Google nad nim pracuje.
mjosh

Odpowiedzi:

187

Wystąpił ten sam błąd, który opisałeś, ale na OS X. Wiem, że może to nie rozwiązać twojego problemu (ponieważ nie znam odpowiednika dla systemu Windows), ale ponieważ nie jest to specyficzne dla systemu operacyjnego, zostawiam rozwiązanie dla każdego użytkownika OS X tam. Edytuj plik /Applications/Android\ Studio.app/Contents/Info.plisti usuń wersję 1.6 (w moim przypadku), możesz umieścić 1.6+, 1.7+ lub 1.8, w zależności od tego, co wolisz. Mój skończył w ten sposób

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

Należy pamiętać, że w przypadku wersji Java od 1.8_60 do 1.8_75 ( IDEA- 146691 ) występuje niekompatybilność z funkcją przeciągnij i upuść, którą IDE zgłosi po pomyślnej zmianie wersji.

Dla użytkowników innych niż Terminal

  1. Znajdź swój Android Studio.appplik. Jeśli jest w doku, możesz kliknąć go prawym przyciskiem myszy i wybrać Options > Show in Finder.
  2. Kliknij go prawym przyciskiem myszy i wybierz Show package content.
  3. Przejdź do wspomnianego pliku ( Contents/Info.plist).
  4. Edytuj plik za pomocą ulubionego edytora tekstu.
LaloLoop
źródło
11
Spowoduje to zmianę maszyny wirtualnej, na której działa Android Studio. W moim OSX oryginalna wartość to: <key> JVMVersion </key> <string> 1.6 *, 1.7 +, 1.8 </string> A nowa wartość to: <key> JVMVersion </key> <string> 1.8 </ string>
santhyago
8
To działa! Dzięki za to rozwiązanie. Pytanie brzmi: dlaczego Google chce, aby jego programiści tracili czas na ten problem?
Kotik_o
3
Dzięki za rozwiązanie problemu braku dokumentacji Google :). Zastanawiam się, dlaczego tej instrukcji nie ma tutaj: developer.android.com/intl/pt-br/preview/setup-sdk.html#java8 (to jest link wyświetlany w android studio).
Totalys
7
Działa świetnie!! Niestety, podczas aktualizacji Android Studio (co właśnie zrobiłem do najnowszej wersji), resetuje plik Info.plist, więc muszę powtórzyć kroki, aby zmienić moją wersję JVM: <key>JVMVersion</key> <string>1.8</string>Tak irytujący Android Studio!
Mikro
3
Android Studio 2.2 używa <string> 1.8 *, 1.8 + </entry>.
jmnwong
147

Kliknij literę N obok ikony Androida w oknie podglądu i wybierz poziom API 23 lub niższy. To powinno rozwiązać problem.

Pierwszy rząd ikon w oknie podglądu

Ian
źródło
25
Ale chcę wyświetlić podgląd w N, a nie w API 23.
mjosh
3
Napotkałem ten sam problem na moim Macu. obniżenie poziomu API z 24 do 23 zadziałało dla mnie.
salman
3
brak odpowiedzi, postępuj zgodnie z odpowiedzią oznaczoną jako prawidłowa
Pavneet_Singh
To nie jest odpowiedź. To po prostu ignorowanie problematycznego środowiska.
enadun
Ładnie wykonane. Tak, to rozwiązało mój problem. Dziękuję Ci. :)
arango_86
63

W moim przypadku zmienne zestawu JDK_HOMEi JAVA_HOMEśrodowiska C:\Program Files\Java\jdk1.8.0_60.

wprowadź opis obrazu tutaj

Sprawdź wersję Java w Help > About. Powinien pokazywać właśnie ustawioną wersję środowiska JRE.

wprowadź opis obrazu tutaj

To wszystko, teraz możesz wyświetlić podgląd swojego układu w formacie N.

mjosh
źródło
1
Zrobiłem, co powiedziałeś, ale kiedy pomagam -> o tym nadal wskazuje na mój stary jdk. Dlaczego?
The_Martian
1
Mam JRE: 1.8 (w przybliżeniu). Nie mogę jednak tworzyć aplikacji przeznaczonych dla wersji 24. > compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.
Zapnologica
1
@The_Martian musisz ponownie uruchomić komputer.
squeeish
1
W systemie Mac OS usunąłem moją starą wersję jdk. Następnie Android Studio wybiera ostatnią wersję
lopez.mikhael
1
@ lopez.mikhael to właściwie jedyna rzecz, która ostatecznie zadziałała dla mnie. Zmieniłem wszystkie możliwe ustawienia, które mogłem znaleźć, skonfigurowałem wszystko dokładnie tak, jak powinienem, ciągle otrzymywałem błąd. W końcu przeniosłem starsze katalogi jdk do podkatalogu, który nazwałam old_jdks w folderze JavaVirtualMachine. Teraz wszystko działa świetnie.
zgc7009
27

Dla użytkowników komputerów Mac z tym problemem (używam OS X 10.11.5 i Android Studio 2.1.2), oto jak możesz go rozwiązać:

Obecnie wersja Android Studio dla komputerów Mac jest uruchamiana z Javą 6 (niekoniecznie taką samą jak wersja JDK dla aplikacji), ponieważ Java 6 ma lepsze renderowanie czcionek niż Java 7 i 8 i jest to najwyraźniej ważniejsze niż renderowanie układu.

Przede wszystkim upewnij się, że masz zainstalowany JDK 8 .

Następnie uruchom następujące polecenia:

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

Może być konieczna zmiana 91w jdk1.8.0_91.jdkna inną wersję. Możesz zobaczyć, które wersje JDK masz z:

$ ls /Library/Java/JavaVirtualMachines/

Niestety ta metoda wymaga otwarcia aplikacji z poziomu terminala, ale zawsze możesz stworzyć dla niej skrypt.

Więcej informacji

Edycja: A jeśli naprawdę nie chcesz otwierać go z terminala:

  1. Utwórz AppleScript z zawartością: do shell script "export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk; open /Applications/Android\\ Studio.app/"
  2. Plik> Zapisz Wybierz format pliku Aplikacja . Zapisz to gdzieś.
  3. Jeśli chcesz zmienić ikonę, zobacz tutaj.
  4. Jeśli chcesz, przeciągnij aplikację na starter.
wumbo
źródło
kiedy próbuję uruchomić skrypt, który otrzymuję: error "sh: /usr/local/bin/studio: No such file or directory" number 127jak to naprawić? kiedy uruchamiam go z terminala, działa idealnie
Daniele
@Daniele Przepraszam, zapomniałem, że stworzyłem do tego inny skrypt powłoki. AppleScript powinien mieć te same polecenia, co powyżej. Zobacz moją zaktualizowaną odpowiedź.
wumbo
5

Spotkałem ten sam problem.

Zainstalowałem jdk1.6, jdk1.7, jdk1.8 i wdrożyłem Studio tak, jak ty.

Moim rozwiązaniem jest odinstalowanie jdk1.6 i jdk1.7, zostaw tylko jdk1.8

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

To wszystko.

Youngwind
źródło
czy to bezpieczne
Micro
@MicroR Jeśli inne oprogramowanie nie jest zależne od jdk1.6 i jdk1.7, myślę, że jest to bezpieczne.
youngwind
To rozwiązanie rozwiązało problem. Ten sposób odinstalowania jest bezpieczny i zalecany przez Oracle ( docs.oracle.com/javase/8/docs/technotes/guides/install/… )
Showpath
2

Używam Ubuntu 14.04 i napotkałem podobny błąd, z tą różnicą, że nie mam NDK. Moje rozwiązanie polegało na tym, że po skonfigurowaniu Java 8 w definicji projektu zrestartuj Android Studio, nie więcej.

Sprawdź systemową wersję Java, w konsoli "java -version", wyjście powinno brzmieć mniej więcej tak

java version "1.8.0_91"
Sergio A Guzmán
źródło
Ustawiłem JAVA_HOME = "/ Library / Java / JavaVirtualMachines / jdk1.8.0_91.jdk / Contents / Home" Czy STUDIO_SDK również powinno być "/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home"?
mythicalcoder
@Maven teoretycznie możesz ustawić zmienną STUDIO_SDK, która będzie ścieżką SDK do uruchomienia Android Studio (jak wspomniano w konfiguracji parametrów Studio tools.android.com/tech-docs/configuration ). Jednak w moim przypadku nie ustawiłem tej zmiennej i IDE działa zgodnie z oczekiwaniami.
Sergio A Guzmán
Masz rację. Próbowałem różnych rzeczy. Rzeczywiście był to problem z nieprawidłowym połączeniem 1.8. To rozwiązało problem stackoverflow.com/a/35935433/2369867 . Dzięki.
mythicalcoder
2

Miałem ten sam problem z Ubunutu. Problem nie polegał na uruchomieniu IDE z Java8.

Naprawiłem to, aktualizując domyślny program java systemu operacyjnego, używając:

sudo update-alternatives --config java

I wybierając odpowiednią ścieżkę Java8.

danny11
źródło
1

Napotkałem problem „Android N wymaga, aby IDE działało z Javą 1.8 lub nowszą”. Błąd nadal pojawiał się pomimo ustawienia C:\Program Files\Java\jdk1.8.0_92jako JDK projektu w File > Project Structure.

Rozwiązałem to, aktualizując JAVA_HOME w moich zmiennych środowiskowych od C:\Program Files\Java\jdk1.7.0_67do C:\Program Files\Java\jdk1.8.0_92. Kiedy to zrobiłem i ponownie uruchomiłem Android Studio, tryb projektowania stał się dostępny.

System operacyjny: Windows 10

Android Studio: 2.1.2

Maksim Dmitriev
źródło
1

Rozwiązałem to w ten sposób. (AS + MAC OX El Capitan)

  1. Aktualizowanie narzędzi SDK> Narzędzia platformy Android SDK
  2. Wybierz Pomoc> Edytuj właściwości niestandardowe> Pojawi się okno dialogowe (naciśnij Tak), a następnie napisz

    JVMVersion=1.8 

Następnie zamknij całkowicie Android Studio i ponownie załaduj projekt

Milon
źródło
0

Mój problem polegał na tym, że Android N został „częściowo zainstalowany”.

Moim rozwiązaniem było przejście do - Preferencje / Wygląd i zachowanie / Ustawienia systemu / Android SDK i sprawdzenie stanu. Jeśli jest „częściowo zainstalowany”, musisz odinstalować, a następnie zainstalować ponownie. (Odznacz pole wyboru i naciśnij Zastosuj; zostanie odinstalowany; następnie możesz zaznaczyć pole i zainstalować je ponownie) Pracowało dla mnie. Jeśli przejdziesz do niższej wersji (np. 23), musisz zmienić zmienną buildToolsVersion na „23.0.0” w pliku build.gradle.

TiborK
źródło
1
Mój nadal wyświetla komunikat „częściowo zainstalowany” po ponownej instalacji.
Andrew,
Mój zbyt „częściowo zainstalowany” po ponownej instalacji. @ Andrew, czy znalazłeś później jakieś rozwiązanie?
mythicalcoder
@Maven dla mnie, okazało się, że mój problem polegał na tym, że nie wybrałem odpowiedniego wariantu kompilacji, gdy próbowałem zbudować aplikację.
Andrew,
0

Ostatnio miałem ten sam problem. Spróbuj zmienić poziom podglądu interfejsu API na 23 lub niższy. To zadziałało dla mnie.


źródło
0

Miałem ten sam problem. Upewnij się, że renderujesz układ XML dla skompilowanej wersji SDK (nie może być większa). Oznacza to, że napotkasz to, jeśli kompilujesz kod przy użyciu docelowego zestawu SDK w wersji 23 i próbujesz wyrenderować plik XML w SDK w wersji 24.

Muhamed Riyas M.
źródło
0

Jest kilka rzeczy, o których należy pamiętać podczas ustawiania STUDIO_JDK w systemie Mac OS:

  • Domyślnie do uruchomienia Android Studio używana jest Java 1.6 firmy Apple
  • kiedy STUDIO_JDK jest ustawiony na Oracle's Java, będzie używany przez Android Studio do uruchomienia

Różnica między nimi polega na tym, że Java IMO firmy Apple zapewnia ładniejszy i lepszy antyaliasing czcionek w IDE.

Odpowiedź tutaj odnosi się do błędu w Android Studio dotyczącego antyaliasingu czcionek. Bilet jest już zamknięty, ale nadal renderowanie jest inne dla Apple Java i Oracle SDK (mam v1.8.0_102). A ten pierwszy nadal ma lepszą percepcję niż ostatni.

Mykoła
źródło
0

spróbuj użyć w projekcie Java 1.8 - pobierz ostatnią wersję JDK i zainstaluj ją (jeśli nie ma JSK)

Następnie dodaj do build.gradle te linie android {... // Skonfiguruj tylko dla każdego modułu, który używa funkcji języka Java 8 // (w kodzie źródłowym lub // poprzez zależności). compileOptions {sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8} // Dla projektów Kotlin kotlinOptions {jvmTarget = "1.8"}}

Alexander
źródło
-1

maszyna: windows8 64-bitowy w moim przypadku jdk1.7, który zainstalowałem, był 32-bitowy, dlatego korzystałem z programu Studio.exe (32-bitowy), więc nawet po pobraniu nowego jdk1.8 (64-bitowy) instancja studia, której używałem (32-bitowa), nie mogła t wykryć, ale kiedy odinstalowałem starszą wersję jdk i spróbowałem ponownie uruchomić studio.exe, powiedziano mi, żebym zainstalował 32-bitowy jdk. więc uruchomiłem studio64.exe i działało płynnie. upewnij się, że masz poprawną ścieżkę w zmiennych środowiskowych. pozdrawiam android N

Peterstev Uremgba
źródło
-1

Upewnij się, że masz zainstalowany jdk dla x64, a nie x84 podczas uruchamiania Android Studio (x64)

wprowadź opis obrazu tutaj

user1564762
źródło