CanalQb - Python - BeeWare e Toga Postagem de APK no Google Play
CanalQb - Python - BeeWare e Toga Postagem de APK no Google Play
Sempre crie uma frase de segurança única para jogos, Airdrops e qualquer outra coisa de origem desconhecida, em vez de usar sua carteira principal.
Fala galera, algumas informações para corrigir durante a postagem do APK no Google Play
Primeiro é preciso conhecer as politicas do Google Play Console.
Se não você pode ter seu apk cancelado, e até mesmo sua conta excluida.
Primeira coisa, para ter acesso a conta, você precisa passar por duas etapas.
Primeira, pagar $25 dolares, para ter acesso a postagem de aplicativos.
Segunda, completar o KYC, com documento com foto e comprovante de residencia, extrato bancario tipo ITAU funciona, mas do Nubank não validou.
Seu aplicativo precisa estar em targetSdkVersion minima de 34, é obrigatório sempre estar atualizado com a ultima API do Google Play, estou falando hoje data 30/10/2024.
O Script Python Beeware Toga, atende esse requisito.
Basta modificar dentro do pyproject.toml a informação similar a esta:
Por padrão no meu caso está em targetSdkVersion 32, modifique para 34.
Por padrão no meu caso está em targetSdkVersion 32, modifique para 34.
# Configurações para Android
[tool.briefcase.app.canalqbpuzzle2.android]
requires = [
"toga-android~=0.4.5",
]
permission."android.permission.READ_EXTERNAL_STORAGE" = true
permission."android.permission.WRITE_EXTERNAL_STORAGE" = true
permission."android.permission.INTERNET" = true
permission."android.permission.WAKE_LOCK" = true
build_gradle_extra_content = "android.defaultConfig.targetSdkVersion 34"
base_theme = "Theme.MaterialComponents.Light.DarkActionBar"
build_gradle_dependencies = [
"com.google.android.material:material:1.11.0",
]
Algumas permissões como
Algumas permissões como
permission."android.permission.MANAGE_EXTERNAL_STORAGE" = true
precisam de permissão especial do Google Play Console, consulte as politicas de segurança e diretriz para preencher um formulário para dar este tipo de acesso.
precisam de permissão especial do Google Play Console, consulte as politicas de segurança e diretriz para preencher um formulário para dar este tipo de acesso.
Criei um apk que cria um banco de dados dentro da mesma pasta onde ele está instalado, aparentemente o aplicativo está ok com o banco, mas ele não salva alterações no banco do apk, o que pode ser.
Isso é uma falha do briefcase e parece não ter sido notada pelos desenvolvedores, mas aqui no canalqb, sempre tem a solução.
para resolver isso, antes de usar o comando briefcase create android ou o comando briefcase package android você deve deletar o banco de dados que vai estar nos dois possiveis caminhos.
Raiz => Sua pasta do aplicativo => src => resources, delete o banco de dados que está criado aqui dentro.
Raiz => Sua pasta do aplicativo => build delete esta pasta.
Raiz => Sua pasta do aplicativo => build delete esta pasta.
O briefcase, acada não sobrescrevendo alguns arquivos já criado no build, fazendo importar alguns erros antigos. e se você não definir quais arquivos você não quer que ele importe para o projeto APK usando o pyproject.TOML ele vai enviar tudo que está no resources para dentro do APK em modo somente leitura.
Dentro do Google Play Console
Testadores não especificados: O primeiro aviso indica que você não configurou testadores para a versão que deseja lançar. Para resolver isso, você precisa definir uma faixa de testes (testing track) e adicionar testadores. Isso permitirá que eles testem sua versão antes do lançamento.
Arquivo de desofuscação ausente: O aviso sugere que você não fez o upload de um arquivo de desofuscação para o seu App Bundle. Se você está usando ofuscação (como R8 ou ProGuard), é altamente recomendado fazer o upload do arquivo de desofuscação, pois isso facilita a identificação de problemas, como falhas e ANRs (Application Not Responding).
O que são arquivos de desofuscação?
Arquivos de desofuscação contêm informações que ajudam a traduzir o código ofuscado de volta para um formato legível. Quando você usa ferramentas como R8 ou ProGuard, elas ofuscam seu código para proteger a lógica do aplicativo e reduzir seu tamanho, mas isso torna a depuração mais difícil. Os arquivos de desofuscação ajudam a correlacionar o código ofuscado com o código original, facilitando a identificação de problemas em relatórios de falhas.
Como gerar o arquivo de desofuscação?
Configuração do ProGuard ou R8:
Certifique-se de que seu projeto esteja configurado para gerar arquivos de desofuscação. Isso geralmente é feito no arquivo proguard-rules.pro ou no seu arquivo de build (build.gradle), incluindo a seguinte linha:
buildTypes {release {minifyEnabled true // Ativa a ofuscaçãoproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}}
Localização do arquivo:
Após a construção do aplicativo, os arquivos de desofuscação são gerados na pasta:
arduino
build/outputs/mapping/release/mapping.txt
Esse arquivo contém a correspondência entre os nomes ofuscados e os nomes originais das classes e métodos.
Como fazer o upload dos arquivos de desofuscação?
Acesse o Google Play Console:
Entre no Google Play Console e navegue até a seção onde você gerencia as versões do seu aplicativo.
Selecione a versão:
Escolha a versão do aplicativo que você deseja atualizar ou enviar.
Localize a opção para upload:
Na área de "Relatórios de falhas" ou "Desempenho", procure a opção para enviar arquivos de desofuscação. Isso pode variar dependendo da interface do console.
Faça o upload do arquivo:
Selecione o arquivo mapping.txt que você localizou anteriormente e faça o upload.
Importância do upload
Fazer o upload dos arquivos de desofuscação é crucial para a análise de falhas. Quando ocorrer uma falha no aplicativo, os relatórios que contêm informações ofuscadas podem ser difíceis de entender. Com os arquivos de desofuscação, você pode facilmente mapear os erros de volta ao seu código original, permitindo que você diagnostique e resolva problemas de forma mais eficaz e rápida.
Símbolos de depuração ausentes: O aviso aponta que o seu App Bundle contém código nativo, mas você não fez upload dos símbolos de depuração. Assim como no aviso anterior, é importante enviar esses símbolos para ajudar na análise de falhas e ANRs.
O que são símbolos de depuração?
Os símbolos de depuração são informações que ajudam os desenvolvedores a entender o que está acontecendo no código nativo durante a execução do aplicativo. Quando ocorre uma falha, esses símbolos permitem que você veja as chamadas de função e as linhas de código onde o erro aconteceu, facilitando a depuração.
Como gerar símbolos de depuração?
Para projetos usando C/C++:
Quando você compila seu código nativo, é preciso incluir informações de depuração. Isso geralmente é feito com a flag -g no compilador.
Se você estiver usando o NDK (Native Development Kit), ele gera arquivos .so para bibliotecas nativas e arquivos .sym (ou similares) para símbolos.
Configuração do CMake ou Gradle:
Se estiver usando CMake, certifique-se de que a opção de depuração esteja habilitada:
cmake
set(CMAKE_BUILD_TYPE Debug)
Para Gradle, você pode configurar o externalNativeBuild para gerar arquivos de símbolos.
Como fazer o upload dos símbolos de depuração?
Localize os arquivos:
Os símbolos de depuração geralmente estão em um diretório como app/build/intermediates/ndkBuild/debug/ ou app/build/intermediates/cmake/debug/ dependendo da sua configuração de build.
Acesse o Google Play Console:
Vá para a seção "Versões do aplicativo" ou "Release management".
Selecione a versão do aplicativo que você está enviando.
Faça o upload:
Procure a opção para enviar os arquivos de símbolos de depuração.
Anexe os arquivos gerados (como .so ou arquivos de símbolos).
Importância do upload
Fazer o upload dos símbolos de depuração é crucial para a análise de falhas. Sem esses símbolos, as mensagens de erro e os relatórios de falhas podem ser difíceis de interpretar, dificultando a correção de bugs.
Se precisar de mais detalhes sobre algum passo específico, é só avisar!
Nenhum comentário
Comente só assim vamos crescer juntos!
Observação: somente um membro deste blog pode postar um comentário.