635 Stimmen

Ist es möglich, Java 8 für die Android-Entwicklung zu verwenden?

Beim Durchsuchen des Webs ist es nicht klar, ob Java 8 für die Android-Entwicklung unterstützt wird oder nicht.

Bevor ich Java 8 herunterlade/einrichte, kann mir jemand auf offizielle Dokumente zeigen, die besagen, dass Java 8 für die Android-Entwicklung unterstützt wird oder nicht.

5voto

nPn Punkte 16254

Als ich diese Frage vor fast 2 Jahren gestellt habe, war die Antwort tatsächlich "offiziell" nein, aber wie von der Antwort von ekcr1 hervorgehoben, kann man eine der am meisten erwarteten Funktionen (Lambdas) zum Laufen bringen, wenn man retrolamba verwendet. Zu diesem Zeitpunkt habe ich immer noch Eclipse verwendet, da Android Studio sich im "Vorschau"-Modus befand, also bin ich diesem Weg nie weiter nachgegangen.

Heute denke ich, dass die "offizielle" Antwort immer noch nein ist und während retrolamba immer noch wie eine gute Möglichkeit erscheint, gibt es eine andere Option für diejenigen, die einen etwas "inoffiziellen" Weg gehen wollen, nämlich Kotlin.

Heute hat Kotlin 1.0.0 erreicht. Für diejenigen, die nicht mit Kotlin vertraut sind, finden Sie weitere Informationen auf ihrer Website hier:

https://kotlinlang.org

oder schauen Sie sich dieses YouTube-Video von einem Vortrag von Jake Wharton an

https://www.youtube.com/watch?v=A2LukgT2mKc

4voto

asozcan Punkte 1352

Neueste Nachrichten:

Google gibt bekannt, dass mit Android N und Android Studio 2.1+ die Plattform Java 8 unterstützen wird. Außerdem wurde eine stabile Version von Studio 2.1 veröffentlicht.

Endlich können wir Lambda-Ausdrücke verwenden. Kein Listenfilter mehr in der for-Schleife. Hooray.

4voto

Ahmad Aghazadeh Punkte 15802

Füge diese Konfiguration in die build.gradle Datei hinzu und synchronisiere Gradle:

android {
    ...
    defaultConfig {
        ...
        jackOptions {
            enabled true
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
        // oder
        //sourceCompatibility 1.8
        //targetCompatibility 1.8
    }
}

2voto

stamanuel Punkte 3731

Google hat gerade angekündigt, dass Java 8 nun von Android nativ unterstützt wird und dass das Jack-Toolset veraltet sein wird:

Wir haben beschlossen, die Unterstützung für Java-8-Sprachfunktionen direkt in das aktuelle Set von javac und dx-Tools aufzunehmen und das Jack-Toolset zu veralten. Mit dieser neuen Richtung sollten bestehende Tools und Plugins, die von dem Java-Class-Dateiformat abhängig sind, weiterhin funktionieren. Zukünftig werden die Java-8-Sprachfunktionen vom Android-Build-System nativ unterstützt. Wir haben vor, dies als Teil von Android Studio in den kommenden Wochen zu starten, und wir wollten diese Entscheidung frühzeitig mit Ihnen teilen.

Mehr Informationen hier: https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html

2voto

tyler Punkte 18413

UPDATE 2019/10/28

Android Studio 4.0 löst dieses Problem.

Der D8-Compiler fügt zur Kompilierzeit einen Backport der Java 8 Native APIs in Ihre APK ein, und Ihre App verwendet diesen Code zur Laufzeit anstelle der nativen APIs. Dieser Prozess wird als Desugaring bezeichnet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X