Keystore Android: quem sobe AAB não perde o app no celular
Quem sobe AAB não perde o app se perder a keystore Android. Na live, Martin Blume viu que o Google assina o APK que chega no celular.
Keystore Android: quem sobe AAB não perde o app no celular
Se você sobe AAB no Play Console, perder a keystore Android não mata o app no celular. O Google pega o bundle, gera os APKs finais e assina cada um com a chave que o aparelho confere na hora de atualizar. Eu vi isso na live de Martin Blume, que constrói o Fumava, um app para parar de fumar, e já tinha acesso de produção no Google Play.
O chat assustou ele com a "K Store". A correção veio com o erro install failed update incompatible e com o formato do upload: ele sobe AAB, não 1 APK.
O medo da keystore Android chegou pelo chat
Martin relia o recado em voz alta. O medo do pessoal era perder o acesso ao aplicativo para fazer otimizações se a tal da K Store sumisse.
um monte de gente me falou que se eu perder a tal da K Store ou alguma coisa assim, eu não consigo mais acessar o aplicativo para fazer otimizações
Ele mesmo repetiu a correção que chegou em seguida, ainda sem cravar se era o mesmo problema:
Tá, agora me falaram aqui na live que não é para acessar, é para assinar o APK para atualizar por cima da mesma versão. Não sei se é a mesma coisa que a gente tá falando.
Ele estava tentando encaixar o recado no que já sabia. Login no app era uma coisa. Assinar um pacote para atualizar o Fumava já instalado era outra, e ele não tinha essa distinção pronta.
O susto faz sentido se você vem de gerar o binário na máquina e mandar esse arquivo para o aparelho. A keystore Android é a prova de que o próximo pacote veio do mesmo autor do app já instalado. Sem essa assinatura igual, o sistema recusa a atualização e trata o arquivo novo como outro aplicativo.
No Play Console o login continua. Nexus, no chat da live, separou o que se perde: o Play Console continua aberto; some a capacidade de publicar algo que instale por cima do que já está no celular da pessoa.
install failed update incompatible trava no aparelho
Nexus descreveu o mecanismo: o Android recusa instalar uma atualização assinada com uma chave diferente da que assinou o app já instalado. O erro é install failed update incompatible. No aparelho da pessoa não há contorno, e nenhum suporte resolve esse erro no celular.
O usuário já tem o Fumava (ou o seu app) na tela inicial. Você gera uma versão nova, assina com outra keystore Android, manda o arquivo. O celular compara as assinaturas e para. O Play Console ainda abre e a ficha na loja continua no ar, mas a atualização não entra no dispositivo porque o Android recusou o pacote.
Por isso o chat trata a keystore como o arquivo da atualização: se ele some, o próximo pacote não instala por cima do que já está no celular. No modelo de quem gera APK, o autor é o assinante. Quem perde o arquivo perde o direito de pousar em cima da base instalada.
Por que o vibe coding com AAB tira o Martin dessa conta
Martin ouviu o mecanismo e se localizou no meio da frase:
Eu subo um A B, não um APK. Agora o que que isso significa? Eu não faço a mínima ideia.
Ele nomeou o formato e admitiu que o significado não estava na cabeça. Martin estava no dia 37 construindo em público, com acesso de produção, e essa peça ainda faltava.
Depois, com a explicação do Nexus ainda na tela:
É o Google. O problema é deles.
Ele sobe AAB, o Android App Bundle, e não APK. A chave que assina o que chega no celular não é a dele. Quem sobe AAB não perde o app se perder a keystore Android, porque o Google assina o APK que chega no celular.
COMPARAÇÃO
Gera APK na máquina
Você assina. Perdeu a keystore, o próximo pacote toma install failed update incompatible
Sobe AAB no Play Console
O Google assina o APK que chega no celular. Perder a keystore não mata o app
Eu acompanhei essa sessão de vibe coding no momento em que o builder quase levou para casa o pânico errado. O chat falava em "K Store" como o arquivo sem o qual o app morre no celular. A live gravou o susto e a correção no mesmo bloco.
Na mesma live ele também falou de plano Claude, outra lição.
O que você faz amanhã se o chat gritar keystore
Quem faz vibe coding e fecha o dia no Play Console precisa olhar o formato do upload antes de entrar no pânico da K Store. Se o upload é bundle, a atualização que chega no celular é o APK que o Google assinou, não o binário que saiu da sua máquina.
Se você ainda gera APK e instala por cabo ou manda o arquivo, a keystore Android continua sendo o que o aparelho confere na hora de atualizar. Perdeu o arquivo, o próximo pacote toma install failed update incompatible.
Para quem está no caso do Martin: acesso de produção no Google Play, Fumava subindo como AAB. Fique com o Play Console e com o hábito de subir bundle. O que esta live separa é a chave que o chat nomeia e a chave que o celular realmente lê.
A live está no YouTube. Dá para assistir à live no momento em que o chat fala K Store e o Martin descobre que sobe um A B.