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

    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; done

    Windows

    Get-ChildItem "." -Filter *.apk |
    Foreach-Object {
      $cmd = "adb install '$($_.FullName)'"
      Write-Output $cmd
      Invoke-Expression $cmd

    OBS: 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.

    Conseguimos te ajudar?