Tenho que fazer upload de um novo aplicativo, é apenas o design que é um pouco diferente. Ontem gerei o arquivo keystore para assinar o aplicativo. Posso usar o mesmo?
Tenho que fazer upload de um novo aplicativo, é apenas o design que é um pouco diferente. Ontem gerei o arquivo keystore para assinar o aplicativo. Posso usar o mesmo?
Respostas:
Você pode usar isso keystore
para qualquer número de aplicativos.
Não há necessidade de gerar um novo armazenamento de chaves.
Vou fazer um contra-argumento para a resposta de consenso até agora.
Concordo que, para a maioria dos autores de aplicativos, na maioria das vezes, compartilhar o mesmo armazenamento de chaves / certificado / senha entre seus aplicativos funcionará bem. O fundamental é usar " o mesmo certificado durante toda a vida útil esperada de seus aplicativos " para que o aplicativo possa se atualizar.
Mas posso pensar em um bom motivo para ter keystores separados para aplicativos ou famílias de aplicativos separados. Se você acha que pode querer vender um aplicativo para outra pessoa para publicar como uma atualização do original, você terá que compartilhar seu armazenamento de chaves e senha únicos com essa pessoa para fazer isso. Provavelmente não é um grande problema, mas um pouco preocupante para você e, talvez, um problema de devida diligência para um comprador grande o suficiente.
Além disso, eu realmente não leio a mesma linha na documentação da mesma forma que @ol_v_er. Acho que a linha atual:
Você deve assinar todos os seus aplicativos com o mesmo certificado ao longo da vida útil esperada de seus aplicativos.
(observe a falta de uma vírgula na versão atual) é simplesmente enfatizar que a recomendação 'vitalícia' se aplica a todos os aplicativos, não direcionando você a usar o mesmo certificado para todos os seus aplicativos.
A documentação oficial nos diz:
Em geral, a estratégia recomendada para todos os desenvolvedores é assinar todos os seus aplicativos com o mesmo certificado, durante a vida útil esperada de seus aplicativos. Existem vários motivos pelos quais você deve fazer isso ...
https://developer.android.com/studio/publish/app-signing.html#considerations
Então, sim, tente assinar todos os seus aplicativos com o mesmo certificado.
Quero acrescentar alguns esclarecimentos aqui, porque essa pergunta e as respostas fornecidas me confundem. É crucial entender o que realmente é um armazenamento de chaves.
Um armazenamento de chaves é apenas um meio de armazenar com segurança o par de chaves pública / privada que é usado para assinar seus apks Android. Portanto, sim, você pode usar o mesmo armazenamento de chaves para assinar vários apks, sem problemas. Você também pode usar o mesmo alias (cada alias é um certificado) para assinar vários apks e funcionará. No entanto, isso tem implicações de segurança. Se seu único alias estiver comprometido, todos os seus aplicativos estarão comprometidos.
No entanto, se você pretende vender os direitos de seus aplicativos um dia, usar o mesmo alias para todos os seus aplicativos pode não ser uma boa ideia. No entanto, usar o mesmo keystore, desde que você use um alias diferente para cada apk, pode não ser necessariamente uma opção ruim. Tenho certeza de que existe uma maneira de mover um certificado de um armazenamento de chaves para outro, de modo que você possa fornecer com segurança as chaves necessárias apenas para aquele certificado ao seu comprador.
Para deixar bem claro, um armazenamento de chaves é apenas isso, um meio de armazenamento de chaves. Ele não desempenha nenhum papel real no processo de assinatura de um apk, mas serve apenas para armazenar as chaves que são realmente usadas para assinar o apk.
Referências:
Noções básicas sobre armazenamento de chaves, certificados e alias
https://www.digitalocean.com/community/tutorials/java-keytool-essentials-working-with-java-keystores
Claro! Você pode usar o mesmo arquivo keystore quantas vezes quiser. É sempre melhor usar o mesmo arquivo keystore para todos os aplicativos que você desenvolve. Isso ajudará se você quiser atualizar ou modificar o aplicativo. Nesse momento, você precisa assinar seu aplicativo com a mesma chave.
Eu assino todos os meus aplicativos usando o mesmo certificado (armazenamento de chaves). Isso dá uma vantagem se eu mudar de ideia e quiser que meus aplicativos compartilhem seus dados.
Como você deve saber, o Android identifica cada aplicativo com um UID. Se todos os seus aplicativos são assinados pelo mesmo certificado, você pode solicitar que o Android atribua o mesmo ID de usuário a mais de um aplicativo e, internamente, fazê-los rodar em um único processo e compartilhar os dados.
Do Android doc android: sharedUserId
android: sharedUserId
O nome de um ID de usuário Linux que será compartilhado com outros aplicativos. Por padrão, o Android atribui a cada aplicativo seu próprio ID de usuário exclusivo. No entanto, se este atributo for definido com o mesmo valor para dois ou mais aplicativos, todos eles compartilharão o mesmo ID - desde que também sejam assinados pelo mesmo certificado. Aplicativos com o mesmo ID de usuário podem acessar os dados uns dos outros e, se desejado, executar no mesmo processo
Atualização recente
Se você deseja se inscrever na assinatura do Google App, você deve usar uma nova chave diferente para assinar o seu apk ou pacote, caso contrário, após fazer o upload do console do Google, você receberá uma mensagem de erro dizendo
Você fez upload de um APK ou Android App Bundle assinado com uma chave que também é usada para assinar APKs que são entregues aos usuários. Como você está inscrito no App Signing do Google Play, deve assinar seu APK ou Android App Bundle com uma nova chave antes de carregá-lo