CanalQb - Python - Criando Py para APK - Tutorial do Inicio Até o FIM (#Windows, #WSL, #Python 3.8, #Buildozer, #Kivy)
CanalQb - Criando Py para APK Tutorial do Inicio Até o FIM (#Windows, #WSL, #Python 3.8, #Buildozer, #Kivy)
Procedimentos passo a passo para converter seu script.py para seu aplicativo.apk
- Windows PRO.
- Paciencia para maquinas antigas.
- CMD ou PowerShell (Prefira PS em modo Admin)
dism.exe /Online /Enable-Feature /FeatureName:Microsoft-Windows-Subsystem-Linux /Alldism.exe /Online /Enable-Feature /FeatureName:VirtualMachinePlatform /Alldism.exe /Online /Enable-Feature /FeatureName:Hyper-V /All
Invoke-WebRequest -Uri https://aka.ms/wsl2kernel -OutFile wsl_update_x64.msiStart-Process msiexec.exe -ArgumentList '/i wsl_update_x64.msi /quiet /norestart' -NoNewWindow -Wait
wsl --set-default-version 2
wsl --set-default-version 1
Instalando o WSL 1
wsl --install
wsl --list --online
Se desejar outra distribuição Linux apenas escolha no nome pelos dados da esquerda.
wsl --install -d Ubuntu-18.04
Quando este processo terminar, ele vai pedir login e senha (a senha não é *, ela não digita nada, é oculta ou invisivel, coisa de linux).
Instalando os aplicativos e módulos necessários
sudo apt update -y
sudo apt upgrade -y
Configurando o repositório do Clang-14 e Clang++-14sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa -ysudo apt-get install clang -y
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -ysudo apt update && sudo apt upgrade -ywget https://apt.llvm.org/llvm.shchmod +x llvm.shsudo ./llvm.sh 14sudo apt install clang-14 clang++-14 -y
sudo ln -sf /usr/bin/clang-14 /usr/bin/clang
sudo ln -sf /usr/bin/clang++-14 /usr/bin/clang++
clang --version
clang++ --version
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-14 100sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-14 100
Instalar dependencias do Linux para o Python3sudo update-alternatives --config clangsudo update-alternatives --config clang++
sudo apt-get install --reinstall distro-info-data libc6 ubuntu-dev-tools shunit2 libsdl2-dev -y
sudo apt install ccacheccache --version
# (bool) use ccache to cache compiled filesccache = True
O uso do ccache pode reduzir significativamente o tempo de compilação, especialmente se você estiver trabalhando em um projeto onde faz muitas compilações.
Instalar o Python 3.8
sudo apt install software-properties-common -ysudo apt list --upgradable software-properties-commonsudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt update -y
sudo apt-get install python3.8 -ysudo apt-get install -y python3.8 python3.8-dev python3.8-distutils python3.8-venv -y
sudo apt install -y python-pipsudo apt install -y python3-pipsudo apt install -y python3-setuptoolssudo apt install -y python3-wheelsudo apt install -y python3-venv
python3.8 -m pip install --upgrade pip
sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.8 /usr/bin/python
Precisa corrigir o pip que ainda está para o 3.6
pip --version
pip --version |
Agora vamos criar o atalho para o PIP:
find ~/.local/bin -name "pip*"
sudo rm /usr/local/bin/pipsudo ln -s /home/qb/.local/bin/pip3.8 /usr/local/bin/pip
pip --version |
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 1sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2sudo update-alternatives --config python
Mostrar o Python do Linux padrão:
sudo apt update -y
python -m pip install --user --upgrade wheelpython -m pip install --user testresourcespython -m pip install --user --upgrade setuptools pippython3 -m pip install --user --upgrade wheelpython3 -m pip install --user --upgrade setuptools pippython3 -m pip install --user testresources
sudo apt remove --purge distro-info-data -ysudo apt dist-upgrade -ysudo apt install aptitude -ysudo aptitude install distro-info -y
Exemplo depois de corrigir:
Preparando o Python 3.8 Ubuntu 18.04 para rodar o Buildozer e Kivy
sudo apt install -y git zip unzip openjdk-8-jdk python3-pip openssl autoconf libtool pkg-config zlib1g-dev libncurses5-dev libncursesw5-dev libtinfo5 cmake libffi-dev libssl-dev build-essential libpng-dev libjpeg-dev libtiff-dev libwebp-dev automake lld gradle openjdk-11-jdk openjdk-17-jdk ant ccache g++ gcc lbzip2 make patch python3 python3-dev python3-venv sudo wget xclip xsel libmtdev1
Gradle é uma ferramenta de automação de construção (build automation tool) que é usada principalmente em projetos de software
sudo apt install gradle
gradle -v
sudo update-alternatives --config java
java -version
pip install --upgrade pexpectpip install --user shpip install PySDL2pip install pep517==0.6.0pip install python-for-androidpip install buildozerpip install --user --upgrade buildozer Cython==0.29.33 virtualenvpip install --user https://github.com/kivy/buildozer/archive/master.zippython3 -m pip install cythonpip install bitpip install kivypip install firebase_adminpython3 -m pip install --upgrade buildozer python-for-androidpip install --upgrade pyOpenSSL cryptographypip install --upgrade buildozerpip install https://github.com/kivy/buildozer/archive/master.zippip install pysdl2 pysdl2-dll
pip uninstall python-for-androidpip install "sh<2.0"pip install git+https://github.com/kivy/python-for-android.git
git config --global http.postBuffer 524288000git clone --depth 1 https://github.com/libjxl/libjxl.git /tmp/libjxlsudo mv /tmp/libjxl /usr/local/sbin/
ls /usr/local/sbin/libjxl
sudo nano ~/.bashrcexport PATH=$PATH:$HOME/.local/bin:/usr/local/lib/python3.8/bin:/usr/local/sbin::/usr/local/lib/libjxlexport PYTHON=/usr/bin/python3.8export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig:$PKG_CONFIG_PATHexport CC="ccache gcc"export CXX="ccache g++"
Salvar (CTRL+O) Sair (CTRL+X)
Execute para atualizar os PATH's
source ~/.bashrc
cd /mnt
Estou com meus arquivos no caminho Windows C:\Users\Qb\Desktop\kivy então vou escrever diretamente, não importando onde eu esteja:
cd /mnt/c/users/qb/Desktop/kivy
Execute este comando quando você estiver começando um novo projeto. Ele cria um arquivo buildozer.spec, que contém todas as configurações do seu projeto, como dependências, informações do aplicativo e opções de compilação.
buildozer init
Arquitetura de celulares Android
Editando o buildozer.spec
[app]Nome do seu aplicaivo, pode ter espaçotitle = CanalQb Puzzle 67Nome do pacote para instalação, não pode ter espaçopackage.name = canalqbpuzzle # (str) Nome do pacotenome do dominio que você irá usar para registrar no Google e/ou Apple, mesmo assim precisa informar.package.domain = org.canalqb# (str) Diretório onde o main.py está localizadosource.dir = .# (list) Arquivos de origem a serem incluídos (deixe vazio para incluir todos os arquivos)# source.include_exts = py,png,jpg,kv,atlassource.include_exts = py,png# (str) Versionamento da aplicaçãoversion = 0.1# (list) Requisitos da aplicação, nunca coloque modulos que já exista no python.
# Correto:
requirements = python3==3.8.0,kivy,kivymd,firebase-admin,requests,bit,plyer,pyjnius,jnius
# Errado, o Buildozer vai apresentar erro, informando que não irá tentar instalar modulos padrões do python
# requirements = python3==3.8.0,kivy,kivymd,firebase-admin,requests,bit,plyer,pyjnius,jnius, webbrowser, random, hashlib# (str) Ícone da aplicaçãoicon.filename = %(source.dir)s/icon.png# (list) Orientações suportadasorientation = portrait# (list) Permissõesandroid.permissions = INTERNET, WRITE_EXTERNAL_STORAGE, READ_EXTERNAL_STORAGE# (list) As arquiteturas Android para construir (use para o Android 5.1 armeabi)# android.archs = arm64-v8a, armeabi-v7aandroid.archs = armeabi, armeabi-v7a, arm64-v8a# (bool) Habilitar o recurso de backup automático do Android (API >=23)android.allow_backup = True[buildozer]# (int) Nível de log (0 = apenas erros, 1 = informações, 2 = debug (com saída de comando))log_level = 2# (int) Exibir aviso se o buildozer for executado como root (0 = Falso, 1 = Verdadeiro)warn_on_root = 1# (int) API do Android a ser usadaandroid.api = 22# (int) API mínima do Androidandroid.minapi = 22# (int) API alvo do Androidandroid.target = 31 # Por exemplo, Android 12 (API 31)# (int) Ativar o modo de depuraçãoandroid.debug = 1# (str) Versão do NDK a ser usadaandroid.ndk = 21b
# (str) Python version to usepython_version = 3.8
Exemplos:
requirements = kivy==2.1.0,kivymd==1.0.0,python3==3.8.0,kivy_garden
requirements = python3==3.8.0,kivy==1.11.1,kivymd
Iniciando o Projeto APK:
buildozer android update
buildozer -v android debug
Dica: Medir o tempo de criação:
{ time buildozer -v android debug; } 2> build_time.txt
buildozer android deploy run
buildozer android cleanrm -rf ~/.buildozer/android/platform/python-for-android
buildozer android logcat
Resumo dos Fluxos de Trabalho
Configuração do SSH:
sudo apt install openssh-server
sudo nano /etc/ssh/sshd_config
PermitRootLogin no (pode ser que não exista)PasswordAuthentication yesChallengeResponseAuthentication no
sudo ssh-keygen -Asudo systemctl start sshsudo systemctl enable sshsudo systemctl restart sshsudo systemctl status ssh
O Uso do ADB
Se você tiver dificuldade de acessar o ADB no WSL, você pode usar o ADB do Windows em seus projetos dentro do WSL, aprenda a usar: https://bit.ly/4evN9zz
Alguns comandos basico para o ADB
Primeiro, você precisa ter o ADB instalado no WSL. Se você não tiver, você pode instalá-lo com o seguinte comando:
sudo apt updatesudo apt install android-tools-adb
Conecte seu dispositivo Android ao computador via USB. Você pode verificar se o dispositivo está reconhecido pelo ADB usando:
adb devices
Após conectar o dispositivo, execute o seguinte comando no WSL:
adb devices
O Tutorial termina aqui, abaixo algumas opções que você pode usar ou não
Desinstalar o WSL
wsl --list --verbose
wsl --unregister <NomeDaDistribuição>
dism.exe /Online /Disable-Feature /FeatureName:Microsoft-Windows-Subsystem-Linux
%USERPROFILE%\AppData\Local\Packages
%LOCALAPPDATA%\Microsoft\WindowsAppsPode conter links para executáveis das distribuições ou Canonical.
5. Baixar e Configurar o Android SDK (opcional)
Para configurar o Android SDK, baixe e descompacte em C:\platform-tools
, e adicione ao seu PATH:
export PATH="$PATH:/home/$USER/.local/bin:/usr/local/lib/python3.8/bin:/home/qb/.local/bin:/usr/local/sbin"
Como Resolver Problemas com o ADB no WSL
Se você ativou a "Depuração USB" no dispositivo Android e instalou o android-tools-adb
no WSL, mas não consegue ver o dispositivo listado ao executar adb devices
, siga estes passos adicionais:
1. Verifique as Configurações de USB
Certifique-se de que o dispositivo está configurado para permitir a depuração. Após conectar o dispositivo ao computador, uma janela deve aparecer perguntando se você deseja permitir a depuração USB. Verifique se você autorizou a conexão.
2. Conecte o Dispositivo e Verifique o Modo de Conexão
- Conecte o dispositivo e veja se ele está em Modo de transferência de arquivos (MTP) ou Modo de depuração. Mudar o modo de conexão pode ajudar.
- Acesse essas configurações na barra de notificações ao tocar na notificação de USB.
3. Reinicie o ADB
No terminal do WSL, tente reiniciar o servidor ADB:
adb kill-server
adb start-server
4. Verifique se o ADB está Rodando no Windows
O ADB que está rodando no Windows pode interferir. Para resolver isso:
- Abra o Prompt de Comando ou PowerShell e execute:
- Depois, volte para o WSL e execute
adb devices
novamente.
adb kill-server
adb start-server
5. Teste com ADB no Windows
Se ainda assim não funcionar, tente usar o ADB diretamente no Windows:
- Abra o Prompt de Comando ou PowerShell.
- Execute:
adb devices
Se o dispositivo aparecer, o problema pode estar na comunicação entre o WSL e o Windows.
6. Verifique as Permissões do Dispositivo
A falta de permissões pode ser a causa do problema. Verifique se o seu dispositivo está autorizado a se conectar ao computador e se há alguma solicitação de permissão no dispositivo.
7. Reinicie o Dispositivo
Como último recurso, tente reiniciar o dispositivo Android. Às vezes, isso resolve problemas de conexão.
Se depois de seguir esses passos o problema continuar, compartilhe qualquer mensagem de erro ou comportamento que você observar!
Claro! Vamos focar nas ferramentas e métodos que especificamente convertem scripts Python (.py) em APKs. Aqui estão as opções:
20 formas de converter script.py para aplicativo.apk
1. Kivy + Buildozer: O método mais popular, onde você utiliza o Kivy para criar interfaces e o Buildozer para empacotar seu aplicativo como um APK.
2. BeeWare (Briefcase): Ferramenta que permite criar aplicativos nativos para Android a partir de código Python, gerando APKs.
3. PySide + PyInstaller: Embora menos comum, você pode usar o PyInstaller para empacotar aplicativos PySide em um APK.
4. Chaquopy: Plugin para o Android Studio que permite incluir código Python em aplicativos Android nativos, criando APKs diretamente.
5. Pygame Subset for Android (pgs4a): Permite que jogos feitos com Pygame sejam convertidos em APKs.
6. Ren'Py: Um motor de visual novel que utiliza Python e pode exportar jogos como APKs.
7. KivyMD + Buildozer: Similar ao Kivy, mas com componentes de Material Design, facilitando a criação de interfaces modernas.
8. PyQtDeploy: Empacota aplicativos feitos com PyQt ou PySide para Android, gerando APKs.
9. Flask + WebView: Embora envolva uma aplicação web, você pode empacotar a aplicação Flask em um APK usando WebView.
10. Python-Android: Um projeto que permite rodar aplicações Python como APKs, embora não seja tão popular.
11. SDL2 + Python: Usar a biblioteca SDL2 com um wrapper Python para criar aplicativos que podem ser convertidos em APKs.
12. Toga (parte do BeeWare): Com Toga, você pode desenvolver aplicativos nativos que podem ser empacotados como APKs.
13. PyBee (parte do BeeWare): Facilita a criação de aplicativos nativos com Python e sua conversão em APKs.
14. Pydroid 3: Um IDE para Android que permite rodar scripts Python, mas, com algum esforço, é possível adaptar para gerar APKs.
15. Unity + Python: Embora mais complexo, é possível integrar Python em Unity e exportar como APK.
16. Nuitka: Compilador que transforma scripts Python em executáveis e, com algumas etapas adicionais, pode ser adaptado para gerar APKs.
17. Pyinstaller + Android NDK: Embora envolva configuração avançada, é uma possibilidade para empacotar aplicativos Python em APKs.
18. PyBee (Toga): Usando as ferramentas do PyBee, você pode criar interfaces gráficas e empacotar como APKs.
19. Skulpt: Um interpretador Python em JavaScript que pode ser usado para embutir scripts Python em aplicativos Android, mas não gera APKs diretamente.
20. Kivy + PyJNIus: Utilizando Kivy junto com PyJNIus, você pode acessar APIs Java e gerar APKs.
Essas opções variam em complexidade e em nível de suporte, mas todas são viáveis para converter scripts Python em APKs de alguma forma. O Kivy com Buildozer e o BeeWare são os mais recomendados para simplicidade e documentação.
Atualização importante no Buildozer
Para o Python 3.12
[DEBUG]: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives:DeprecationWarning /tmp/tmp642kx0bq.py
O que isso significa?
Depreciação do distutils:
O Python está movendo seu foco para o setuptools, que é uma biblioteca mais robusta para construção e distribuição de pacotes Python. O distutils foi uma parte central do ecossistema Python, mas está sendo gradualmente substituído por abordagens mais modernas.
Impacto em seu projeto:
Embora este aviso não signifique que o seu aplicativo não funcionará agora, é uma boa prática começar a migrar para o uso do setuptools para evitar problemas futuros.
O que fazer?
Verifique seu código:
Se você estiver usando distutils diretamente em seu projeto, substitua por setuptools. Por exemplo:
# Antes
from distutils.core import setup
# Agora
from setuptools import setup
Atualize Dependências:
Certifique-se de que suas dependências (bibliotecas que você está usando) também não estão utilizando distutils. Você pode verificar as versões mais recentes dessas bibliotecas e atualizá-las.
Monitore as Versões do Python:
Fique atento às versões futuras do Python e faça testes em um ambiente de desenvolvimento quando versões novas forem lançadas. Isso ajudará a identificar e resolver potenciais problemas de compatibilidade.
Ignore Avisos em Ambiente de Desenvolvimento:
Para evitar que esse aviso polua seus logs durante o desenvolvimento, você pode ignorá-los usando a variável de ambiente PYTHONWARNINGS. No entanto, é melhor resolver a causa do aviso a longo prazo.
Onde criar seus KV
https://m3.material.io/
Tutoriais: https://www.youtube.com/watch?v=kRWtSkIYPFI&list=PLy5hjmUzdc0nMkzhphsqgPCX62NFhkell&index=3
Instalando o Python 3.10.12
Parece que o Ubuntu 18.04 ainda não está conseguindo encontrar o Python 3.10 nos repositórios. Vamos garantir que o PPA esteja devidamente adicionado e atualizado. Siga estas etapas:
1. Remover PPA (opcional, mas recomendado)
sudo add-apt-repository --remove ppa:deadsnakes/ppa
2. Adicionar o PPA novamente
Adicione o PPA para Python novamente:sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
3. Instalar o Python 3.10
Tente instalar o Python 3.10.12 novamente:sudo apt install python3.10
4. Verificar a Instalação
Depois disso, verifique se o Python 3.10 foi instalado corretamente:python3.10 --version
5. Se ainda não funcionar
Se o Python 3.10 ainda não estiver disponível, você pode considerar compilar o Python a partir do código-fonte. Aqui estão as etapas resumidas:Instalar dependências
sudo apt update
sudo apt install build-essential checkinstall
sudo apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev
sudo apt install libgdbm-dev libc6-dev libbz2-dev
sudo apt install zlib1g-dev
Baixar o código-fonte do Python 3.10.12
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz
sudo tar xzf Python-3.10.12.tgz
cd Python-3.10.12
sudo ./configure --enable-optimizations
sudo make altinstall
6. Finalizar
Após a instalação, verifique a versão instalada novamente:python3.10 --version
7. Alternar para Python 3.10.12
sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.10 3
sudo update-alternatives --config python
Alternar para Pip 3.10.12
which pip3.10nano ~/.bashrcexport PATH=$PATH:$HOME/.local/bin:/usr/local/lib/python3.8/bin:/usr/local/sbin:/usr/local/lib/libjxl:/usr/local/binexport PATH=/usr/local/bin:$HOME/.local/bin:/usr/local/lib/python3.8/bin:/usr/local/sbin:/usr/local/lib/libjxl:$PATH:/mnt/c/platform-toolsexport PYTHON=/usr/bin/python3.10export PATH=$PATH:/mnt/c/platform-toolsexport ANDROID_SDK_ROOT=/mnt/c/platform-toolsexport PATH=$PATH:$ANDROID_SDK_ROOTalias adb='/mnt/c/platform-tools/adb.exe'source ~/.bashrcsudo rm /usr/local/bin/pipsudo rm -f ~/.local/bin/pip/usr/local/bin/pip -Vsudo ln -s /usr/local/bin/pip3.10 /usr/local/bin/pippip -V
Driver para MTDev comum no Python 3.10
Se acontecer [ERROR ] [Input ] MTDev is not supported by your version of linux no seu script
Faça:
sudo apt-get install python3-dev python3-pip build-essential \libgl1-mesa-dev libgles2-mesa-dev \libglew-dev libpng-dev \libjpeg-dev libtiff-dev \libgtk2.0-dev libgdk-pixbuf2.0-dev \libsdl2-dev libsdl2-image-dev \libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \libavformat-dev libavcodec-dev libavdevice-dev \libswscale-dev libfreetype6-dev \libx11-dev libxi-dev libxrandr-dev \libxinerama-dev libxcursor-dev \libmtdev-dev
python3.6 --versionsudo apt remove python3.6 -ysudo apt purge python3.6 -ysudo apt autoremove -yrm -rf ~/.local/lib/python3.6python3.6 --version
Apenas o Python 3.8
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1sudo update-alternatives --config python3rm ~/.local/bin/pip3ln -s /home/qb/.local/bin/pip /home/qb/.local/bin/pip3pip3 --versionwhich pippython3.8 -m pip install --upgrade --force-reinstall pippip3 --versionhead -n 1 ~/.local/bin/pip3python3 --versionpython3.8 -m pip uninstall buildozerpython3.8 -m pip install buildozerls ~/.local/bin/buildozerpython3.8 -m buildozer android debug
Como Instalar o Android SDK no Ubuntu 18.04
1. Instale as dependências necessárias
Antes de começar, instale algumas dependências que podem ser necessárias:
sudo apt update
sudo apt install openjdk-11-jdk wget unzip
2. Baixe o SDK do Android
Você pode baixar o Android SDK diretamente do site oficial ou usar o SDK Manager. Aqui está como fazer isso:
Baixando o Android Command Line Tools
Baixe o arquivo ZIP:
Acesse a página de download do Android Studio e baixe o arquivo commandlinetools***-linux.tar.gz
.
Você pode usar o wget
no terminal:
wget https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O commandlinetools.zip
Extraia o arquivo ZIP:
unzip commandlinetools.zip
Mova para a pasta do SDK:
Crie um diretório para o SDK (caso ainda não tenha):
mkdir -p ~/Android/Sdk/cmdline-tools
mv cmdline-tools ~/Android/Sdk/cmdline-tools/latest
3. Configure as variáveis de ambiente
Adicione as seguintes linhas ao seu arquivo ~/.bashrc
ou ~/.profile
para configurar as variáveis de ambiente:
export ANDROID_HOME=~/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
Depois, recarregue o arquivo de configuração:
source ~/.bashrc
4. Instale as plataformas e ferramentas
Use o SDK Manager para instalar as plataformas e ferramentas necessárias:
cd ~/Android/Sdk/cmdline-tools/latest/bin
ls
sdkmanager --sdk_root=$ANDROID_HOME --update
sdkmanager "platform-tools" "platforms;android-30" "build-tools;30.0.3"
5. Verifique a instalação
Para verificar se o SDK foi instalado corretamente, execute:
sdkmanager --list
6. Instalação do Android Studio (opcional)
Se você também quiser o Android Studio, você pode baixá-lo da página oficial e seguir as instruções de instalação.
Instalação do NDK
Passo 1: Download do NDK
Baixe o NDK: Execute o seguinte comando no terminal para baixar o NDK r27:
wget https://dl.google.com/android/repository/android-ndk-r27-linux.zip
Passo 2: Extraia o NDK
Extraia o arquivo baixado:
unzip android-ndk-r27-linux.zip
Mova o NDK para um diretório desejado (opcional, mas recomendado):
sudo mv android-ndk-r27 /opt/android-ndk-r27
Passo 3: Configure o PATH
Adicione o NDK ao PATH:
Abra o arquivo de configuração do seu shell (como ~/.bashrc ou ~/.bash_profile ou ~/.zshrc se você estiver usando Zsh) e adicione a seguinte linha:
export PATH=$PATH:/opt/android-ndk-r27
Em seguida, carregue as mudanças:
source ~/.bashrc
(ou o arquivo que você editou)
Passo 4: Configure o Buildozer
Atualize o arquivo buildozer.spec:
No seu arquivo buildozer.spec, adicione ou modifique as seguintes linhas:
android.ndk = /opt/android-ndk-r27
Passo 5: Verifique a Instalação
Verifique se o NDK está corretamente instalado e no PATH:
Execute o comando:
ndk-build --version
Você deve ver a versão do NDK se tudo estiver correto.
Passo 6: Compile seu Projeto
Recompile seu projeto usando o Buildozer:
buildozer -v android debug
Instalação e Configuração do CMake
1. Atualizar o Sistema
sudo apt update && sudo apt upgrade
2. Instalar Dependências
sudo apt install build-essential
3. Instalar CMake
3.1. Remover CMake Existente
sudo apt remove --purge cmake
3.2. Baixar o Instalador do CMake
wget https://github.com/Kitware/CMake/releases/download/v3.22.0/cmake-3.22.0-linux-x86_64.sh
3.3. Tornar o Script Executável
chmod +x cmake-3.22.0-linux-x86_64.sh
3.4. Instalar o CMake
sudo ./cmake-3.22.0-linux-x86_64.sh --skip-license --prefix=/usr/local
3.5. Verificar a Instalação
cmake --version
Instalação e Configuração do SDL_image
1. Baixar o SDL_image
cd /mnt/c/users/qb/desktop/kivy
git clone https://github.com/libsdl-org/SDL_image.git
cd SDL_image
2. Criar o Diretório de Build
mkdir build && cd build
3. Configurar o Projeto com CMake
cmake ..
4. Compilar o Projeto
make
5. Instalar
sudo make install
6. Verificar a Instalação do SDL_image
Verifique se os arquivos do SDL_image estão presentes nos diretórios de instalação padrão.
Como resolver o erro de CMake ao instalar SDL_image
1. Instalar SDL3
Certifique-se de que você tenha o SDL3 instalado. Você pode instalá-lo através do gerenciador de pacotes. Por exemplo, se você estiver usando o Ubuntu, execute:
sudo apt-get install libsdl3-dev
2. Definir CMAKE_PREFIX_PATH
Se o SDL3 estiver instalado, mas o CMake ainda não consegue encontrá-lo, talvez seja necessário definir o CMAKE_PREFIX_PATH
para o local onde o SDL3 está instalado. Você pode fazer isso no comando cmake
:
cmake -DCMAKE_PREFIX_PATH=/caminho/para/sdl3 ..
Substitua /caminho/para/sdl3
pelo caminho real onde o SDL3 está instalado.
3. Verificar o arquivo SDL3Config.cmake
Se você tem o SDL3 instalado, certifique-se de que o arquivo SDL3Config.cmake
exista no diretório de instalação. Este arquivo geralmente é encontrado em lib/cmake/SDL3
.
4. Definir SDL3_DIR
Alternativamente, você pode definir a variável SDL3_DIR
diretamente:
cmake -DSDL3_DIR=/caminho/para/sdl3/lib/cmake/SDL3 ..
5. Consultar a Documentação
Se você ainda estiver tendo problemas, consulte a documentação do SDL_image para requisitos específicos ou opções de configuração adicionais.
Tentativas Adicionais
1. Verificar se o SDL2 pode ser usado
Se o seu projeto pode funcionar com SDL2 em vez de SDL3, você pode instalá-lo usando:
sudo apt-get install libsdl2-dev
2. Instalar SDL3 a partir do Código Fonte
- Instalar dependências:
- Clonar o repositório SDL3:
- Construir e instalar:
sudo apt-get install build-essential git
git clone https://github.com/libsdl-org/SDL.git
cd SDL
mkdir build && cd build
cmake ..
make
sudo make install
3. Usar um PPA (se disponível)
Às vezes, existem repositórios de terceiros (PPAs) que contêm versões mais recentes das bibliotecas. Verifique se há um PPA para SDL3.
4. Encontrar Binários Pré-compilados
Verifique o site do SDL ou a página do GitHub deles para binários pré-compilados que você pode baixar e instalar.
Após a Instalação
Depois de instalar o SDL3, tente executar seu comando cmake
novamente. Se precisar de mais assistência, fique à vontade para perguntar!
Alguns Tratamentos
A Mensagem Recipe build order is ['hostpython3', 'libffi', 'openssl', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'sqlite3', 'python3', 'sdl2', 'setuptools', 'six', 'pyjnius', 'android', 'kivy']
A mensagem indica que algumas dependências (como certifi, chardet, idna, kivymd, requests e urllib3) não foram encontradas como receitas, então elas serão instaladas via pip.
Tente isso na proxima vez antes de usar o buildozer
pip install certifi chardet idna kivymd requests urllib3
Versões até o momento dia 13/10/2024
WARNING: pip index is currently an experimental command. It may be removed/changed in a future release without prior warning.
kivy (2.3.0)
Available versions: 2.3.0, 2.2.1, 2.2.0, 2.1.0, 2.0.0, 1.11.1, 1.11.0, 1.10.1, 1.10.0, 1.9.1, 1.9.0, 1.8.0, 1.7.2, 1.7.1, 1.7.0, 1.6.0, 1.5.1, 1.5.0, 1.4.1, 1.4.0, 1.3.0, 1.2.0, 1.1.1, 1.1.0, 1.0.9, 1.0.8, 1.0.7, 1.0.6, 1.0.5
INSTALLED: 2.3.0
LATEST: 2.3.0
pip install pysimplesoap
sudo apt-get install --reinstall devscripts reportbug
Pode instalar
Nenhum comentário
Comente só assim vamos crescer juntos!
Observação: somente um membro deste blog pode postar um comentário.