API para fazer upload automático do apk para o Google Play? [fechadas]

95

Existe alguma API ou ferramenta que me permite fazer o upload automático de um APK para o Google Play? Quero publicar aplicativos personalizados automaticamente em minha conta, sem nenhuma etapa manual ou interface gráfica.

Eu pesquisei, mas não consegui encontrar nenhuma API para fazer isso (apenas android-publisher, mas não oferece suporte para publicação, apesar do nome). Alguém já resolveu isso, parece um recurso básico?

Magnus
fonte
3
Não acho que haja, mas esta é uma pergunta interessante
Stéphane
8
Os tempos mudam - deixe o comentário refletir que agora EXISTE essa API - comentários e respostas anteriores agora estão desatualizados - a resposta correta agora é de sharshi.
Richard Le Mesurier,
Para quem veio aqui por meio de uma busca na web e só quer uma resposta, offtopic ou não: Fastlane é uma ferramenta que automatiza as implantações de Play Store e App Store.
Thomas

Respostas:

63

A partir de hoje existe uma nova API de publicação oficial que permite fazer upload para qualquer canal (ou seja, alfa, beta ...) ou atualizar o título e a descrição e muito mais.

Dos documentos:

  • Upload de novas versões de um app Lançamento de apps, atribuindo APKs a várias trilhas (alfa, beta, lançamento em etapas ou produção)
  • Criação e modificação de listagens da Google Play Store, incluindo
  • texto e gráficos localizados e capturas de tela em vários dispositivos

Clique aqui para obter mais informações: https://developers.google.com/android-publisher/

Sharshi
fonte
28
Observe que a API é apenas para aplicativos já publicados (que têm pelo menos um APK carregado).
Léo Lam
A autorização com o Google pode ser um truque. Veja como seria a obtenção de token via linha de comando. PS A menção de chave .p12 não funcionará até que você o converta em .pem com o comando "openssl pkcs12 -in my_google_key.p12 -out my_google_key.pem -nodes -clcert"
Vitalii
2
dê uma olhada com este plugin do Gradle
Sankar V
3
Alguém sabe se ainda se aplica a restrição de atualizar apenas aplicativos preexistentes?
Ricardo Pedroni
1
@Dokuzov sim, apenas atualizações
sharshi
22

Gradle-play-publisher é um plugin do Gradle para fazer upload do seu APK e detalhes do aplicativo na Google Play Store.

Simplesmente corro ./gradlew publishApkReleasedo meu terminal e ele carrega o APK e o resumo das alterações recentes. Há mais tarefas como essa disponíveis.

Ele usa a API do desenvolvedor do Google Play

Carlo Rodríguez
fonte
Olá, sou novo no Gradle, gradle-play-publisher diz: "Depois de aplicar este plug-in ao seu projeto de aplicativo Android, você pode configurá-lo por meio do bloco de reprodução". Onde preciso adicionar o bloco de reprodução?
Aqib Mumtaz de
Em seu build.gradlearquivo
Carlo Rodríguez
Você poderia compartilhar seu arquivo de construção? Estou constantemente recebendo essa exceção "org.gradle.execution.TaskSelectionException: Tarefa 'publishApkRelease' não encontrada no projeto raiz"
Aqib Mumtaz
Eu postei minha pergunta stackoverflow.com/questions/31449533/…
Aqib Mumtaz
projeto não realmente ativo de qualquer maneira
oldergod
20

Não há API oficial do Google para automatizar o trabalho com o Google Play. (Isso NÃO é verdade depois de julho de 2014)

Você pode criar um script que encapsula um navegador da web e simula o bevahiour do usuário: encontre campos HTML, insira informações lá, envie a página, etc.

Estamos trabalhando nessa ferramenta Python de código aberto: https://github.com/onepf/AppDF/tree/master/tools/uploader

Vassili Philippov
fonte
6
Isso foi verdade até o final de julho de 2014, quando o Google adicionou uma API de publicação. Veja a resposta de sharshi para mais informações.
Léo Lam
3
Esta resposta agora está errada.
Richard Le Mesurier,
4

Eu respondi isso também nesta pergunta , mas achei que deveria adicionar o mesmo comentário aqui. Informe se essa é a maneira errada de fazer isso (duplicar respostas).

Consegui criar um plug-in Gradle que publica em qualquer faixa que você desejar, para qualquer sabor / variante que desejar, usando as novas APIs de publicação do Google Play.

Veja as fontes aqui: https://github.com/bluesliverx/savillians-gradle

Estou trabalhando na publicação disso no maven central para que possa ser usado em um script de compilação, mas por enquanto você pode pegar o android-publishersubdiretório no repo, colocá-lo na raiz de sua compilação do Gradle e renomear a pasta para buildSrc. Use a seguinte linha no build.gradlearquivo para o projeto Android que deseja publicar:

apply plugin: com.savillians.gradle.androidpublisher.AndroidPublisherPlugin

Você pode então definir suas configurações de publicação usando um androidPublisherbloco no arquivo build.gradle.

android {
    ...
}
androidPublisher {
    applicationName = "Company-Name-Product-Name/1.0"
    packageName = "<package name>"
    serviceAccountEmail = "<service account email>"
    serviceAccountKeyFile = file('<p12 keyfile - NOT the json file>')
    track = "alpha" // default, don't need to specify
    variantName = "release" // default, don't need to specify
}

Certifique-se de que a conta de serviço que você criou tenha permissões de "gerenciador de liberação", baixe o arquivo de chave p12 e coloque-o no diretório do projeto. Em seguida, execute este comando:

gradle androidPublish

Isso o enviará para o Google Play usando as credenciais que você especificou. Boa sorte e deixe-me saber se você tiver dúvidas, pois este é novo.

Bksaville
fonte
por favor, encontrar stackoverflow.com/questions/29816342/... Será que gradle androidPublishgerar o apk assinados e upload para playstore
Nevin Raj Victor
Respondidas. Este plugin fará o que você está procurando.
bksaville
hi @bksaville é este suporte de plug-in para aplicativos existentes. Não podemos usar para aplicativos recém-criados.
Sajith Vijesekara
Descobri que, em vez de "gerente de liberação" para as funções ao criar a conta de serviço, eu precisava: na lista suspensa Função, escolha "Contas de serviço" -> "Usuário da conta de serviço" e "Criador de token de conta de serviço"
Maks