wtorek, 23 sierpnia 2016

Android 7.0 - migracja projektów w Android Studio i Visual Studio

Dokonajmy krótkiego podsumowania dotychczasowych faktów odnośnie Android 7.0 z punktu widzenia dewelopera.

Screenshot_20160823-005513

Po pierwsze wczoraj została wypuszczona finalna wersja. Nie każdy ją jednak od razu otrzymał. Aby pomóc nieco losowi można było zapisać swoje urządzenie do programu beta (wczoraj przyniosło mi to natychmiastowe pojawienie się pożądanego updatu).

Co nowego dla dev-a?  Najlepiej przeczytać stronkę Android 7.0 for Developers.

Android Studio

Najpierw wczytałem swój projekt z DSP do najnowszego stabilnego Android Studio 2.1.3.  Nie było tak źle, skorzystałem z automatycznego upgrade’u gradle. Zainstalowałem API 24, odpowiednie build tools itp. w SDK managerze:

image

Wcześniej już miałem Javę 8 na maszynie. W zasadzie tylko zmieniłem wersje do kompilacji w pliku build.gradle:

apply plugin: 'com.android.application'

android {
compileSdkVersion 24
buildToolsVersion "24.0.1"

defaultConfig {
applicationId "com.apps.kruszyn.lightorganapp"
minSdkVersion 19
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.+'
compile 'com.android.support:design:24.+'
compile 'com.android.support:cardview-v7:24.+'
}

W manifeście też dałem targetSdkVersion na 24, choć z podpowiedzi narzędzia wynika nawet że i tak gradle to nadpisuje podczas kompilacji na podstawie swoich ustawień.

Xamarin & Visual Studio

Po pierwsze postąpiłem według Introduction to the Android N Developer Preview. Instaluje się specjalną wersję Xamarina dla VS (nie instalowałem nawet Xamarin Studio czy gtk sharp). W VS w konfiguracji Xamarin ustawiłem ścieżkę do JDK 1.8. W projekcie pozmieniałem ustawienia co do wersji API:

image

Nie ustawiałem wersji minimalnej na 24, a i tak zdaje się wszystko działa. Pakiety nuget jednak automatycznie się nie zaktualizowały, więc je usunąłem i dodałem na nowo. O ile ich wersje nadal pozostają takie same, o tyle teraz są dedykowane dla frameworka 7.0 (przy API 23 dotychczas był to 6.0). 
Deplyment. Tu miałem problem… Dostawałem problem z niemożliwością usunięcia app-ki, mimo że ją wcześniej odinstalowałem na telefonie. Taka przypadłość – jak wyczytałem m.in na stackoverflow – przydarza się czasami w Xamarin. Usuwamy wtedy niby usuniętą już app-kę poprzez linię komend adb:
adb uninstall com.apps.kruszyn.lightorganapp.droid

Czyści to scachowane biblioteki Xamarina. Pomogło. Wgrałem, działa podobnie jak oryginał w Android Studio.

Wsparcia Xamarina wygląda chyba jednak nadal jako preview, designer przestał mi póki co działać:

image

W Android Studio designer działa bez problemu. Niewykluczone, że u mnie w Xamarinie coś przestało działać na skutek instalowania różnych jego wydań (stabilne, beta, Android N Preview, …). Póki co w zasadzie cisza o Android 7 na jego forum, a pewnie w jakiejś stabilnej wersji pojawi się oficjalne wsparcie dla 7.0.

To tyle póki co w temacie siódemki. Aha, jak mamy app-kę targetowaną na API starsze niż 24 (np. 23) to przy dokowaniu app-ki na części ekranu pojawia się info, że aplikacja ta może nie wspierać takiego trybu pracy. Po ztargetowaniu na 24 taka notyfikacja znika. Przedstawione tutaj zmiany trafiły tradycyjnie już jako wbitki do mojego githuba.

Brak komentarzy: