
Utilizzo Ubuntu 20.04 quindi ho seguito i passi per l’installazione dalla guida ufficiale https://flutter.dev/docs/get-started/install/linux. Al momento (Dicembre 2020) la seguente procedura è testata e funziona su Ubuntu 20.04, sia su un computer reale, che su una macchina virtuale gestita da Virtual Box (solo non sarà possibile installare la KVM, più avanti è spiegato).
Io ho scelto l’installazione con snapd quindi:
$ sudo snap install flutter --classic
e poi, appena l’installazione è completa, ho lanciato
$ flutter doctor
che inizializza flutter, scarica l’SDK di Dart e configura una parte dell’ambiente.
Dico “una parte dell’ambiente” perchè una volta che il doctor sarà stato eseguito, sarà necessario eseguire alcune configurazioni e installazioni manuali.
Molto probabilmente, il doctor restituirà
Doctor found issues in 3 categories
La prima cosa da fare è installare Android Studio scaricandolo da qui https://developer.android.com/studio e cliccando esattamente su quel bellissimo e verdissimo bottone Download Android Studio che offrirà i termini e condizioni del download.
Chi non ha una rete veloce, passerà qui un pò di tempo, dato che il file è più di 800mb.
Decomprimo il file tar.gz scaricato direttamente nella cartella in cui girerà. In realtà, non è necessaria alcuna installazione, questo titolo h2 è click-bait, perchè basta scaricarlo, decomprimerlo e lanciarlo.
Prima di lanciarlo, però, è meglio installare la KVM per Android come indicato nella guida ufficiale.
Attenzione: se si sta seguendo l’installazione su una macchina virtuale realizzata con Virtual Box, non sarà possibile installare la KVM e quindi consiglio di saltare questo step.
I prerequisiti:
$ sudo apt-get install cpu-checker
$ egrep -c '(vmx|svm)' /proc/cpuinfo
E dovrebbe apparire il numero della cpu che per me è 16.
$ kvm-ok
Questo a me genera il seguente messaggio
INFO: /dev/kvm exists
KVM acceleration can be used
A questo punto si può installare la KVM:
$ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils ia32-libs-multiarch
In una delle installazioni che ho eseguito, ho ricevuto l’errore “no installation candidate” dopo il comando di instsallazione di qemu-km, quindi avevo trovato questo link https://help.ubuntu.com/community/KVM/Installation da dove avevo preso il comando per “Cosmic (18.10) or later” e cioè:
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
Adesso che la KVM è installata, è possibile lanciare Android Studio da Terminal:
$ cd Desktop/android-studio/bin
$ sh studio.sh
Se è la prima volta che viene lanciato, sarà necessario eseguire alcuni step di configurazione: le prime cose che chiede sono le più ovvie: se volevo importare delle impostazioni precedenti, e se può inviare dati statistici anonimi. Il resto è stato molto “next-next-next”, ho solo impostato il Darcula come stile dell’IDE. A questo punto ho cliccato il bottone Finish sulla wizard di installazione Android studio e ho atteso che completasse il download di tutti i pacchetti necessari. (Nota Agosto 2021: a volte mi è capitato che chiedesse di aggiornare dei plugin, ovviamente ho sempre accettato di farlo).
Rilanciando flutter doctor ho avuto altri errori, quindi ho ripreso la guida da qui https://flutter.dev/docs/get-started/install/linux#update-your-path
Su questo ho perso mezzo pomeriggio, perchè flutter doctor consigliava di installare la JDK da qui: https://www.oracle.com/technetwork/java/javase/downloads/ senza indicare la versione necessaria, quindi la prima volta ho installato la più nuova (che in questo momento è la 15) ma a quanto pare la JDK 15 non è compatibile, quindi ho dovuto disintallarla:
$ sudo apt-get remove jdk15
e installare la jdk8 come spiegato qua (https://computingforgeeks.com/how-to-install-java-8-on-ubuntu/)
$ sudo apt install openjdk-8-jdk
Di solito per questo genere di configurazioni, io utilizzo l’editor vi
$ cd /home/<utente>
$ vi .bashrc
In fondo al file .bashrc c’era questo:
export PATH="$PATH:/home/<utente>/Desktop/android-studio/bin
export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-amd64/"
export PATH="$PATH:/home/<utente>/Android/Sdk/tools"
export PATH="$PATH:/home/<utente>/Android/Sdk/tools/bin"
export PATH="$PATH:/snap/bin/flutter"
Rilanciando di nuovo flutter doctor, dovrebbe funzionare. Se restituisce un messaggio di errore che suggerisce di lanciare flutter doctor con –android-licenses, allora va eseguito il comando e seguita la procedura.
flutter doctor --android-licenses
A questo punto potrebbe indicare ancora che Android Studio non è installato; in questo caso, è necessario indicare il path di Android Studio a Flutter, in questo modo:
flutter config --android-studio-dir="<il path di Android Studio>"
flutter doctor -v
come viene indicato qui su Stack Overflow.
Imposto il canale Stable come indicato nel wiki di Flutter https://github.com/flutter/flutter/wiki/Flutter-build-release-channels
$ flutter channel stable
$ flutter upgrade
Lanciando nuovamente flutter doctor, tutto dovrebbe essere a posto e dovrebbe ora essere possibile avviare di nuovo Android Studio
$ cd Desktop/android-studio/bin
$ sh studio.sh
Al primo avvio dopo l’installazione di Android Studio, consiglio di installare il plugin per rendere l’IDE più adatto a Flutter: quindi cliccando su Configure in basso a destra nella prima schermata di Android Studio (oppure cercando “plugin” con Navigate->Search everywhere) si apre un menu nel quale cliccare “Plugins”. Dalla finestra che si apre, cercare “Flutter” nel campo di ricerca in alto a sinistra e sul bottone “Install”. Alla fine della procedura, sarà necessario riavviare l’IDE.
Al riavvio di Android Studio sarà presente una nuova voce nella prima schermata, e sarà “Create a new Flutter project”.
Avviato Android Studio, sarà possibile cliccare su “Create a new Flutter project”; nella pagina successiva, Configure the new Flutter application, è necessario impostare “Flutter SDK path” che su Ubuntu 20.04 è qui /home/<utente>/snap/flutter/common/flutter
Quindi questa è stata l’installazione e la configurazione; tutto sommato è stata abbastanza veloce, anche se l’incompatibilità della JDK 15 mi ha fatto perdere un pò di tempo. A questo punto, ad installazione avvvenuta, consiglio di leggere questo articolo sui primi passi con Flutter.