###### tags: `flutter`
Instalacion de Flutter
====
La instalacion se realizara en Linux Ubuntu 18.04.4.
1. Descargar flutter de su pagina oficial
https://storage.googleapis.com/flutter_infra/releases/stable/linux/flutter_linux_v1.12.13+hotfix.9-stable.tar.xz
2. Crear una carpeta donde se descomprimira el archivo descargado
```shell=
mkdir ~/Desarrollo
```
3. Ingresar a la carpeta, mover el archivo a esa carpeta y descomprimirlo
```shell=
mv flutter_linux_v1.12.13+hotfix.9-stable.tar.xz ~/Desarrollo
cd ~/Desarrollo
tar xf ~/Desarrollo/flutter_linux_v1.12.13+hotfix.9-stable.tar.xz
```
4. Agregar al PATH la carpeta de flutter. Para eso debemos editar nuestro archivo `~/.zshrc` o `~/.bashrc` (en esta guia nuestra shell es zsh -> `echo $SHELL` -> para ver que shell estamos usando)
```shell=
nano ~/.zshrc
```
en el final del archivo agregar
```shell=
export PATH=~/Desarrollo/flutter/bin:$PATH
```
Refrescar la terminal
```Shell=
source ~/.zshrc
```
Es posible que la version de Flutter esta desactualizada puede salir un mensaje despues de instalarlo, en caso de que te aparezca ejecuta el siguiente comando:
```shell=
flutter upgrade
```

> Hay dos formas de trabajar con flutter la primera seria instalando Android Studio el cual ya vendria con el SDK Android y otros componentes o trabajar en Visual Studio, para el siguiente tutorial trabajaremos con la segunda opcion.
>
5. Descargar **Command line tools only**
https://developer.android.com/studio#downloads

6. Mover el archivo descargado a la carpeta `Desarrollo` y descomprimirlo en una carpeta `android-sdk-linux`
```shell=
cd ~/Desarrollo
mkdir android-sdk-linux
mv ~/Descargas/commandlinetools-linux-6200805_latest.zip ~/Desarrollo/android-sdk-linux
cd android-sdk-linux
unzip commandlinetools-linux-6200805_latest.zip
```
7. Tener instalado JAVA JDK o open jdk (sdkmanager no funciona con versiones mayores a java 8)
Compruebe si Java ya está instalado:
```shell=
java -version
```
Si Java no está instalado, verá el siguiente resultado:
```
Output
Command 'java' not found, but can be installed with:
apt install default-jre
apt install openjdk-11-jre-headless
apt install openjdk-8-jre-headless
apt install openjdk-9-jre-headless
```
Ejecute el siguiente comando para instalar OpenJDK:
```shell=
sudo apt install default-jre
```
Con este comando se instalará Java Runtime Environment (JRE). Esto le permitirá ejecutar casi todo el software de Java.
Verifique la instalación con lo siguiente:
```shell=
java -version
```
Verá el siguiente resultado:
```
Output
openjdk version "10.0.1" 2018-04-17
OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)
```
Tambien puede probar con el siguiente link:
https://linuxize.com/post/install-java-on-debian-10/
8. Editar nuestras variables de entorno
```shell=
nano ~/.zshrc
# agregar las siguiente lineas
export ANDROID_HOME=~/Desarrollo/android-sdk-linux
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
```
11. Refrescar la terminal
```Shell=
source ~/.zshrc
```
12. Verificar que todo este bien
```Shell=
sdkmanager --sdk_root=${ANDROID_HOME} --list
```

13. Instalar platform tools y cosas extras jeej
```Shell=
sdkmanager --sdk_root=${ANDROID_HOME} "build-tools;28.0.3" "platform-tools" "platforms;android-28"
```
14. Verificar flutter
```Shell=
flutter doctor
```
15. Instalar los certificados
```Shell=
flutter doctor --android-licenses
```
En caso de algun error agregue la siguiente linea de codigo:
```Shell=
flutter config --android-sdk $ANDROID_HOME
```
y con eso ya tiene q estar

16. Ahora activaremos las opciones indicadas despues de ejecutar `flutter doctor`, esto nos permitira realizar las depuraciones en dispositivos moviles.