
Python - Kivy - Buildozer - Comandos Buildozer.SPEC

Ainda estou montando este post, vou primeiro inserir os comandos, e depois tentar organizar da melhor forma possivel
Seções Principais do buildozer.spec
[app]:
- Esta é a seção principal onde você define as configurações do seu aplicativo, como título, versão, pacote, requisitos, permissões, ícone, etc.
[buildozer]:
- Configurações globais do Buildozer, como o diretório de saída, opções de compilação e configurações específicas do ambiente.
[requirements]:
- Pode incluir dependências específicas que você deseja que o Buildozer instale. Normalmente, isso é definido dentro da seção
[app]
, mas pode haver uma seção separada para definições mais complexas.
- Pode incluir dependências específicas que você deseja que o Buildozer instale. Normalmente, isso é definido dentro da seção
[android]:
- Configurações específicas para a construção do aplicativo Android, como versões de SDK, permissões, opções de compilação, etc.
[ios]:
- Configurações específicas para a construção do aplicativo iOS, semelhante à seção Android.
[include]:
- Aqui você pode incluir arquivos adicionais ou diretórios que devem ser copiados para o APK ou o pacote final.
[exclude]:
- Para listar arquivos ou diretórios que devem ser excluídos da construção final.
[environment]:
- Para definir variáveis de ambiente que podem ser usadas durante a construção.
[service]:
- Para definir serviços que você deseja que o aplicativo utilize.
[metadata]:
- Para definir metadados personalizados que podem ser usados no manifest do aplicativo.
Exemplo de monstagem do buildozer.spec
[app]title = MeuApppackage.name = meuappversion = 1.0requirements = python3, kivyicon = ./imagens/icon.pngpermission = android.permission.INTERNET[buildozer]log_level = 2[android]android.api = 31android.minapi = 21android.ndk = 21b[ios]ios.kivy_version = 2.0.0[include]include = ./libs/*.so[exclude]exclude = ./tests/*[environment]MY_ENV_VAR = my_value
Vamos tentar apresentar o maximo de informações possiveis para você decidir o que usar.
1. [app]
- title: Nome do aplicativo.
title = CanalQb Puzzle 67
- package.name: Nome do pacote em formato Java.
package.name = canalqb
- package.domain: Domínio do pacote.
package.domain = org.canalqb
- version: Versão do aplicativo.
version = 1.0.0
- requirements: Dependências do aplicativo.
requirements = python3, kivy, requests
- icon: Caminho para o ícone do aplicativo.
icon = ./imagens/icon.png
- permission: Permissões necessárias (pode ser repetido).
permission = android.permission.INTERNET
- orientation: Orientação da tela.
orientation = portrait
- bootstrap: Bootstrap a ser usado.
bootstrap = sdl2
- private: Diretório com arquivos do projeto.
private = ./meu_app
- meta-data: Metadados personalizados.
meta-data = key=value
- presplash: Imagem de carregamento.
presplash = ./imagens/presplash.png
- presplash-color: Cor de fundo da tela de carregamento.
presplash-color = #FFFFFF
- wakelock: Impedir o modo de suspensão.
wakelock = True
- window: Se o aplicativo cobre a barra de status.
window = True
- add-jar: Caminho para arquivos JAR a serem incluídos.
add-jar = ./libs/minha_lib.jar
- add-source: Diretório de código-fonte adicional.
add-source = ./src
- intent-filters: Arquivo XML com filtros de intenção.
intent-filters = ./filters.xml
- version.code: Código de versão do aplicativo.
version.code = 1
- package.category: Categoria do aplicativo.
package.category = Game
- description: Descrição do aplicativo.
description = Um jogo de quebra-cabeça divertido!
2. [buildozer]
- log_level: Nível de detalhamento dos logs.
log_level = 2
- target: Alvo de construção.
target = android
- profile: Perfil de construção a ser usado.
profile = default
- release: Se a construção é de release.
release = True
- build_dir: Diretório para arquivos de construção.
build_dir = ./build
- source_dir: Diretório de origem do projeto.
source_dir = ./src
- package_dir: Diretório onde o pacote será gerado.
package_dir = ./dist
- buildozer_dir: Diretório do Buildozer.
buildozer_dir = ./buildozer
- virtualenv: Se um ambiente virtual deve ser usado.
virtualenv = True
- keep_build: Manter arquivos de construção.
keep_build = False
3. [android]
- android.api: API do Android a ser utilizada.
android.api = 31
- android.minapi: API mínima suportada.
android.minapi = 21
- android.sdk: Caminho para o SDK do Android.
android.sdk = /path/to/android/sdk
- android.ndk: Versão do NDK do Android.
android.ndk = 21b
- android.permissions: Permissões adicionais (pode ser repetido).
android.permissions = android.permission.ACCESS_FINE_LOCATION
- android.gradle_dependencies: Dependências do Gradle.
android.gradle_dependencies = com.android.support:appcompat-v7:28.0.0
- android.arch: Arquitetura do aplicativo.
android.arch = armeabi-v7a
- android.use_androidx: Se deve usar AndroidX.
android.use_androidx = True
- android.manifest: Caminho para o AndroidManifest.xml.
android.manifest = ./AndroidManifest.xml
- android.debug: Se deve gerar um APK de depuração.
android.debug = True
4. [ios]
- ios.kivy_version: Versão do Kivy a ser utilizada.
ios.kivy_version = 2.0.0
- ios.sdk: Caminho para o SDK do iOS.
ios.sdk = /path/to/ios/sdk
- ios.certificate: Certificado para assinatura do aplicativo.
ios.certificate = my_cert.p12
- ios.profile: Perfil de provisionamento.
ios.profile = my_profile.mobileprovision
- ios.icon: Caminho para o ícone do iOS.
ios.icon = ./imagens/icon_ios.png
- ios.version: Versão do aplicativo para iOS.
ios.version = 1.0.0
- ios.min_version: Versão mínima do iOS suportada.
ios.min_version = 12.0
- ios.dependencies: Dependências específicas do iOS.
ios.dependencies = requests
- ios.persistent: Se deve ser persistente após a execução.
ios.persistent = True
- ios.entitlements: Caminho para o arquivo de permissões.
ios.entitlements = ./entitlements.plist
5. [include]
- include: Arquivos ou diretórios a serem incluídos na construção (pode ser repetido).
include = ./assets/*
- include_patterns: Padrões de inclusão.
include_patterns = *.png, *.jpg
- include_files: Listagem de arquivos específicos a serem incluídos.
include_files = ./data/config.json
6. [exclude]
- exclude: Arquivos ou diretórios a serem excluídos da construção (pode ser repetido).
exclude = ./tests/*
- exclude_patterns: Padrões de exclusão.
exclude_patterns = *.tmp, *.log
- exclude_files: Listagem de arquivos específicos a serem excluídos.
exclude_files = ./data/old_config.json
7. [build]
- debug: Se deve gerar um build de depuração.
debug = True
- clean: Se deve limpar o build anterior.
clean = True
- update: Se deve atualizar as dependências.
update = True
- verbose: Nível de detalhamento do log de construção.
verbose = 1
- quiet: Se deve silenciar os logs.
quiet = False
- buildozer_version: Versão do Buildozer utilizada.
buildozer_version = 0.40.0
- build_file: Caminho para o arquivo de construção.
build_file = ./buildozer.spec
- extra_reqs: Requisitos adicionais para a construção.
extra_reqs = somepackage
- env: Variáveis de ambiente para a construção.
env = MY_VAR=value
- log_file: Caminho para o arquivo de log.
log_file = ./build.log
8. [requirements]
- requirements: Dependências do aplicativo (pode ser repetido).
requirements = python3, kivy
- requirements_blacklist: Dependências a serem excluídas.
requirements_blacklist = somepackage
- requirements_add: Dependências adicionais.
requirements_add = numpy
- requirements_custom: Dependências personalizadas.
requirements_custom = my_custom_lib
- requirements_test: Dependências para testes.
requirements_test = pytest
- requirements_dev: Dependências de desenvolvimento.
requirements_dev = black
- requirements_doc: Dependências para documentação.
requirements_doc = sphinx
- requirements_linux: Dependências específicas do Linux.
requirements_linux = some_linux_lib
- requirements_windows: Dependências específicas do Windows.
requirements_windows = some_windows_lib
- requirements_ios: Dependências específicas do iOS.
requirements_ios = some_ios_lib
9. [other]
- other.setting1: Descrição da configuração 1.
other.setting1 = value1
- other.setting2: Descrição da configuração 2.
other.setting2 = value2
- other.setting3: Descrição da configuração 3.
other.setting3 = value3
- other.setting4: Descrição da configuração 4.
other.setting4 = value4
- other.setting5: Descrição da configuração 5.
other.setting5 = value5
- other.setting6: Descrição da configuração 6.
other.setting6 = value6
- other.setting7: Descrição da configuração 7.
other.setting7 = value7
- other.setting8: Descrição da configuração 8.
other.setting8 = value8
- other.setting9: Descrição da configuração 9.
other.setting9 = value9
- other.setting10: Descrição da configuração 10.
other.setting10 = value10
Comentários
Comente só assim vamos crescer juntos!