Apps für Android programmieren leicht gemacht!

Java 8 kommt für Android

Wer bisher Java 8 spezifische Programmierung in seinen Android App nutzen wollte, der musste Umwege über beispielsweise RetroLambda oder den Jack Compiler in Kauf nehmen.
Es ist nicht so, als wenn Java 8 nicht auch in Android genutzt werden könnte, aber Android Studio hat es bisher kein Java 8 unterstützt und es somit nicht für Android compilieren können.

Geschuldet durch dieses Problem waren viele Features unter Android nicht nutzbar.
Als bestes Beispiel würde ich hier gerne die Lambda Notation aufführen, denn diese hat uns bereits in einem vorigen Artikel größere Probleme bereitet. Dem entsprechend froh bin ich, dass Android Studio mit der Version 2.4 Preview 6 nun auch Java 8 und die meisten damit einher gehenden Features unterstützt.

Was meine ich mit den meisten? – Naja, wer für Android Version 24 und aufwärts programmiert, der sollte keinerlei Einschränkung bemerken. Für alle Android API Versionen von 23 und niedriger sind folgende Dinge nicht unterstützt: Default and static interface methods und die API’s java.lang.annotation.Repeatable, java.util.function, java.lang.reflect.Method.isDefault(), java.lang.Functional, Interfacejava.util.stream und  AnnotatedElement.getAnnotationsByType(Class).

Wer nun also die Android Studio Version 2.4 Preview 6 oder aufwärts benutzt, der kann getrost die Dependencie „retroLambda“ entfernen oder den Bereich „jackOptions“ aus den Gradle Dateien entfernen. Was bestehen bleiben sollte wäre der Zusatz:

android{
   [...]
   compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
   }

   [...]
}

Nähere Informationen findet ihr hier: developer.android.com

Marvin

Ich bin 23 Jahre jung und studiere zurzeit Wirtschaftsinformatik an der Georg-August-Universität in Göttingen. Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

Kommentar hinzufügen

*Pflichtfeld