Tutorial de kivy para criação de app de celular

O que é o kivy?

kivy é uma plataforma para criação de GUI (Graphic User Interface) usando Python como linguagem.

A grande vantagem do Kivy é a facilidade de criar aplicativos para Android e IPhone.

Para criar programas com GUI para desktop (Windows, Linux e Mac), prefira o PyQt, que em breve terá aqui um tutorial.

Kivy funciona em qualquer sistema operacional, mas as ferramentas para criar um app de celular funciona apenas no LINUX. O exemplo que darei aqui será a criação de um arquivo .apk que pode ser instalado em celulares rodando Android.

Você vai precisar do Python3, que já vem instalado com o Linux, e do pip.

Entre com os seguintes comandos no terminal do Linux:

Instalando e testando kivy

    1. Primeiro, instale o pip.
sudo apt install python3-pip
    1. Atualize o pip.
python3 -m pip install --upgrade pip setuptools
    1. Instale o kivy e os exemplos.
python3 -m pip install "kivy[base]" kivy_examples
    1. Criar um arquivo Python (obrigatoriamente com o nome main.py) contendo o seguinte código (salve em qualquer lugar):
import kivy

from kivy.app import App
from kivy.uix.label import Label

class MyApp(App):

    def build(self):
        return Label(text='Hello world')

if __name__ == '__main__':
    MyApp().run()

O código acima contém a estrutura mínima para um programa em kivy. Layouts e widgets podem ser adicionados à janela, que serão os mesmos em todos os SO. Mais informações em:

Documentação oficial do kivy ( muito rica)

    1. Execute o aplicativo para testar. Abra o terminal na pasta onde salvou o arquivo main.py e digiter:
python3 main.py

Criando um arquivo .apk para Android.

Para criar um arquivo .apk a partir de um arquivo .py usando kivy, usaremos uma ferramenta chamada buildozer, que automatiza todo o processo e elimina toda a complexidade da interação com o Android.

Buildozer: ferramenta para criação do .apk (Android) e iOS (IPhone)

    1. Instalando o buildozer.

No terminal, linha por linha:

pip3 install --user --upgrade buildozer
sudo apt update
sudo apt install -y git zip unzip openjdk-17-jdk python3-pip autoconf libtool pkg-config zlib1g-dev libncurses5-dev libncursesw5-dev libtinfo5 cmake libffi-dev libssl-dev
pip3 install --user --upgrade Cython==0.29.33 

Após isso, entre no Nautilus pelo modo Admin:

sudo nautilus

Habilite a opção de mostrar arquivos ocultos no Nautilus.

Dentro da pasta root abra o aquivo .bashrc e inclua a seguinte linha:

export PATH=$PATH:~/.local/bin/
    1. Criando o aqruivo .apk

No terminal, executa na mesma pasta que o arquivo main.py o seguinte comando:

buildozer init

Um arquivo chamado buildozer.spec será criado e pode ser editado para mudar as especicações do app.

Finalmente, para construir um .apk, entre no terminal:

buildozer android debug

Na primeira execução, o comando demora muito, mas nas posteriores é bem rápido!

O arquivo .apk estará na pasta Bin. Basta copiá-lo para o celular e instalar (em cada celular é um processo diferente, mas normalmente deve-se habilitar a instalação de programas não veridicados ou hobilitar o modo desenvolvedor).

Bons app!