Atualização do Bundle de Apps Stone Debug
Nesta atualização do Bundle de Apps Stone Debug, os usuários encontrarão novos recursos e melhorias para otimizar o desempenho de seus aplicativos, proporcionando uma experiência ainda mais eficiente no desenvolvimento e debug.
O Bundle de Apps Stone é um agrupamento de apps que operam dentro dos terminais Stone seja de Produção ou Debug, esses apps por sua vez são responsáveis de operações deste a comunicação com a Stone até a realização de pagamentos, e SDK Providers e principalmente o Deeplink utilizam esses apps para realizar as operações.
A partir da versão 7.4.5 do bundle de apps a atualização será feita automaticamente, porém se você estiver em um versão anterior será necessário realizar a atualização manualmente via ADB, e o objetivo deste artigo é explicar o passo a passo para realizar este procedimento.
O processo é todo feito via ADB que é protocolo de envio de dados do Android que é instalado junto do Android Studio, caso utilize outra IDE será necessário verificar se o ADB já existe no seu computador e caso não fazer a instalação a parte. O ADB funciona a partir de comandos no console onde podemos identificar quais terminais estão conectados ao computador, os apps instalados nesses terminais, instalações, atualizar e desinstalar apps.
Temos um artigo especifico explicando como localizar o ADB e ativa-lo que pode ser consultado pelo link: ADB Android - Localização, ativação e comandos.
Identificando a versão do bundle em seu terminal
A versão do bundle fica no canto superior esquerdo da tela do terminal.

Premissas
- Depuração USB ativa: Ativando a Depuração USB do terminal.
- Download dos apks da versão 7.4.5 ou superior de acordo com a fabricante do seu terminal pelo link: Bundle Apps Debug
1 - Conexão do terminal e reconhecimento do ADB
Com o terminal conectado no computador, abra o console que pode ser tanto via Android Studio ou CMD e digite o comando adb devices, este comando servo para listar todos os aparelhos Android conectados a maquina com a Depuração ativa, os seriais dos terminais serão listados conforme imagem abaixo:
Se ele for listado conforme exemplo, indica que o ADB reconheceu e a depuração está ativa, caso o retorno do adb seja “Unauthorized” ou em branco isso quer dizer que a depuração não está ativa, sendo necessário verificar. Temos um artigo que explica o processo para verificação no link:
2 - Listar apps Stone
Agora é necessário listar todos os apps da Stone instalados no terminal para que possamos desinstala-los no próximo passo, para isso utilizamos o comando adb shell pm list packages -3, esse comando vai listar apenas os apps externos instalados no terminal, ou seja, todos os apps que não sejam do Android serão listados a partir do packageName deles conforme imagem e os apps alvo são os com o package que contem "br.com.stone.posandroid":
3 - Desinstalação de apps
Para realizar a desinstalação de apps pelo ADB utilizamos o comando Uninstall e a utilização dele é feita da seguinte forma: adb uninstall <packageName da aplicação>, retornando “Sucess” a desinstalação foi feita com sucesso:

Desinstalar apenas os packages com “br.com.stone.posandroid”
Apenas os apps com os packages que contem o endereço “br.com.stone.posandroid” devem ser desinstalados caso desinstale algum diferente pode afetar o funcionamento do terminal.
4 - Instalação dos apks
O ultimo passo é a instalação dos apks, para isso o comando adb install será utilizado: adb install <caminho da pasta do apk\XPTO.apk o apk precisa estar em uma pasta de fácil acesso ao ADB, uma sugestão é criar uma pasta no desktop e colocar os apks que serão instalados lá pois não tem erro.

Agora basta realizar o processo para todos os apks sem excessão para que a atualização sera realizada.
Obs: É possivel realizar os processos de desinstalação e instalação em massa, porém são necessários conhecimentos em Unix, Batch e configurações de Path no caso do windows para reconhecer os comandos, abaixo temos os exemplos de comandos para a instalação de apps em massa:
Desinstalar todas as aplicações Stone do terminal
Windows
adb shell pm list packages | Select-String "br.com.stone" |
ForEach-Object {
$package = $_.ToString().split(":")[1]
$cmd = "adb uninstall $($package)"
Write-Output $cmd
Invoke-Expression $cmd
}Instalar todas aplicações da pasta corrente
Rode na pasta onde estão os apks, ou abra o console no diretório dos apks, cole o código abaixo e execute
Unix Shell (Linux, macOS, GitBash):
for file in *.apk; do adb install -r -d $file; doneWindows
Get-ChildItem "." -Filter *.apk |
Foreach-Object {
$cmd = "adb install '$($_.FullName)'"
Write-Output $cmd
Invoke-Expression $cmdOBS: A pasta onde os arquivos forem salvos ou os próprios arquivos não deve ter separação no nome, caso contrário o script não consegue localizar.