None
Android

Erfahrungen aus der Android 8-Migration

by Viktor Garske on Aug. 28, 2017, midnight

Seit 21. August 2017 steht die neuste Android-Version, Oreo mit der Versionsnummer 8.0 in den Startlöchern. Interessant für Entwickler ist parallel auch der Umstieg auf das API-Level 26 und die damit verbundenen Neuerungen. So sollen auf der einen Seite Bild-in-Bild-Darstellung für Apps und Font-Ressourcen eingeführt werden, auf der anderen Seite muss insbesondere bei den Benachrichtigungen Acht gegeben werden: die neuen Notification Channels bieten dem Nutzer die Möglichkeit, dass *alle* Benachrichtigungen gruppiert ankommen, so dass er channelweise diese abschalten kann.

Ein einfaches Beispiel: eine Wetterapp benachrichtigt den Nutzer bei drohendem Gewitter und bei einem neuen Wochenbericht. Der App-Entwickler sollte jetzt optimalerweise zwei getrennte Channels erstellen und das im NotificationBuilder entsprechend implementieren. Mehr dazu hier.

Allerdings soll es unabhängig von den API-Neuerungen hier auch um das Thema Migration gehen. Denn einfach auf targetSdkVersion 26 stellen, reicht diesmal nicht aus. Insbesondere Android Studio-Projekte, die auf App Flavors setzen, um verschiedene Versions-APKs aus dem gleichen Quellcode zu generieren, müssen aufpassen, denn ebenfalls da gibt es eine kleine, aber feine Änderung: jeder Flavour bekommt eine eigene "Dimension", um auch hier Ordnung zu schaffen. Hat eine App bisher einen Flavor "Lite" und "Pro", so kann zu diesen Flavors jetzt z.B. die Dimension "Edition" zugeordnet werden, damit alles wieder läuft.

flavorDimensions "edition"
productFlavors {
   pro {
       dimension "edition"
   }
   lite {
       dimension "edition"
       applicationIdSuffix ".lite"
       versionNameSuffix "-lite"
   }
}

Wer in seinen Gradle-Files irgendwas von Google drin hat, muss nun auch darauf achten, dass das neue Maven-Repository eingetragen wird.

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

 

Und zu guter Letzt ein nerviger Bug aus den Android Studio 3 Development Releases: hier kommt Android Studio scheinbar nicht mit multinationalen Spracheinstellungen zurecht und hat Probleme mit internen Files und Werten wie 0.5.

Das lässt sich durch folgenden Workaround vorerst umgehen, aber ich bin sicher, dass das Problem bis zum fertigen Release noch gelöst wird.

 

android.enableAapt2=false

 

 

Quellen

  • Android Studio Logo: Google/Android.com http://developer.android.com/license.html (https://commons.wikimedia.org/wiki/File:Android_Studio_icon.svg)

 

Author image
Viktor Garske

Viktor Garske ist der Hauptautor des Blogs und schreibt gerne über Technologie, Panorama sowie Tipps & Tricks.

Comments (0)

Comments are not enabled for this entry.