API zum automatischen Hochladen von apk auf Google Play? [geschlossen]

95

Gibt es eine API oder ein Tool, mit dem ich automatisch eine APK auf Google Play hochladen kann? Ich möchte automatisch angepasste Apps ohne manuelle Schritte oder grafische Oberfläche in meinem Konto veröffentlichen.

Ich habe mich umgesehen, konnte aber keine API dafür finden (nur Android-Publisher, aber es unterstützt das Veröffentlichen trotz seines Namens nicht). Hat jemand das schon gelöst, scheint eine Grundfunktion zu sein?

Magnus
quelle
3
Ich glaube nicht, dass es welche gibt, aber das ist eine interessante Frage
Stéphane
8
Die Zeiten ändern sich - lassen Sie den Kommentar widerspiegeln, dass es jetzt eine solche API gibt - frühere Kommentare und Antworten sind jetzt veraltet - die richtige Antwort stammt jetzt von Sharshi.
Richard Le Mesurier
Für diejenigen, die über eine Websuche hierher gekommen sind und nur eine Antwort wünschen, ob aktuell oder nicht: Fastlane ist ein Tool, das die Bereitstellung von Play Store und App Store automatisiert.
Thomas

Antworten:

63

Ab heute gibt es eine neue offizielle Veröffentlichungs-API, mit der Sie auf jeden Kanal (z. B. Alpha, Beta ...) hochladen oder Titel und Beschreibung und mehr aktualisieren können.

Aus den Dokumenten:

  • Hochladen neuer Versionen einer App Freigeben von Apps durch Zuweisen von APKs zu verschiedenen Tracks (Alpha, Beta, inszenierter Rollout oder Produktion)
  • Erstellen und Ändern von Google Play Store-Einträgen, einschließlich
  • lokalisierter Text und Grafiken sowie Screenshots für mehrere Geräte

Weitere Informationen finden Sie hier: https://developers.google.com/android-publisher/

Sharshi
quelle
28
Beachten Sie, dass die API nur für bereits veröffentlichte Apps gilt (für die mindestens eine APK hochgeladen wurde).
Léo Lam
Die Autorisierung bei Google könnte ein Trick sein. So würde es aussehen, wenn Sie ein Token über die Befehlszeile erhalten. PS Die dort erwähnte .p12-Taste funktioniert erst, wenn Sie sie in .pem mit dem Befehl "openssl pkcs12 -in my_google_key.p12 -out my_google_key.pem -nodes -clcert"
konvertieren
2
Schauen Sie sich dieses Gradle-Plugin an - github.com/Triple-T/gradle-play-publisher
Sankar V
3
Weiß jemand, ob die Einschränkung, nur bereits vorhandene Apps zu aktualisieren, noch gilt?
Ricardo Pedroni
1
@Dokuzov ja nur Updates
Sharshi
22

gradle-play-publisher ist ein Gradle-Plugin zum Hochladen Ihrer APK- und App-Details in den Google Play Store.

Ich starte einfach ./gradlew publishApkReleasevon meinem Terminal aus und es lädt die APK und die Zusammenfassung der letzten Änderungen hoch. Es sind weitere Aufgaben wie diese verfügbar.

Es verwendet die Google Play Developer API

Carlo Rodríguez
quelle
Hallo, ich bin neu bei Gradle. Gradle-Play-Publisher sagt: "Sobald Sie dieses Plugin auf Ihr Android-Anwendungsprojekt angewendet haben, können Sie es über den Wiedergabeblock konfigurieren." Wo muss ich einen Wiedergabeblock hinzufügen?
Aqib Mumtaz
In Ihrer build.gradleDatei
Carlo Rodríguez
Könnten Sie bitte Ihre Build-Datei teilen? Ich bekomme ständig diese Ausnahme "org.gradle.execution.TaskSelectionException: Task 'PublishApkRelease' nicht im Root-Projekt gefunden"
Aqib Mumtaz
Ich habe meine Frage stackoverflow.com/questions/31449533/…
Aqib Mumtaz
sowieso nicht wirklich aktives Projekt
ältergott
20

Es gibt keine offizielle Google-API zur Automatisierung der Arbeit mit Google Play. (Dies gilt NICHT nach Juli 2014)

Sie können ein Skript erstellen, das einen Webbrowser kapselt und das Verhalten des Benutzers simuliert: Suchen Sie HTML-Felder, geben Sie dort Informationen ein, senden Sie die Seite usw.

Wir arbeiten an einem solchen Open-Source-Python-Tool: https://github.com/onepf/AppDF/tree/master/tools/uploader

Vassili Philippov
quelle
6
Dies galt bis Ende Juli 2014, als Google eine Veröffentlichungs-API hinzufügte. Weitere Informationen finden Sie in der Antwort von sharshi.
Léo Lam
3
Diese Antwort ist jetzt falsch.
Richard Le Mesurier
4

Ich habe dies auch auf diese Frage beantwortet , aber ich dachte, ich würde hier den gleichen Kommentar hinzufügen. Lassen Sie mich wissen, ob dies der falsche Weg ist (doppelte Antworten).

Mit den neuen Google Play Publishing-APIs konnte ich ein Gradle-Plugin erstellen, das die Veröffentlichung für jeden gewünschten Titel für jede gewünschte Variante / Variante durchführt.

Siehe die Quellen hier: https://github.com/bluesliverx/savillians-gradle

Ich arbeite daran, dies in maven central zu veröffentlichen, damit es in einem Build-Skript verwendet werden kann. Im Moment können Sie jedoch das android-publisherUnterverzeichnis im Repo abrufen, es im Stammverzeichnis Ihres Gradle-Builds ablegen und den Ordner in umbenennen buildSrc. Verwenden Sie die folgende Zeile in der build.gradleDatei für das Android-Projekt, das Sie veröffentlichen möchten:

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

Anschließend können Sie Ihre Veröffentlichungseinstellungen mithilfe eines androidPublisherBlocks in der Datei build.gradle festlegen.

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
}

Stellen Sie sicher, dass das von Ihnen erstellte Dienstkonto über die Berechtigungen "Release Manager" verfügt, laden Sie die p12-Schlüsseldatei herunter und legen Sie sie im Projektverzeichnis ab. Führen Sie dann diesen Befehl aus:

gradle androidPublish

Dadurch wird es mit den von Ihnen angegebenen Anmeldeinformationen an Google Play gesendet. Viel Glück und lassen Sie mich wissen, wenn Sie Fragen haben, da dies brandneu ist.

bksaville
quelle
Sie finden stackoverflow.com/questions/29816342/... Ist gradle androidPublishdas signierte apk und Upload auf Plays erzeugen
Nevin Raj Victor
Antwortete. Dieses Plugin macht das, wonach Sie suchen.
Bksaville
hi @bksaville ist diese Plugin-Unterstützung für vorhandene Apps. Können wir nicht für neu erstellte Apps verwenden.
Sajith Vijesekara
Ich habe festgestellt, dass anstelle von "Release Manager" für die Rollen beim Erstellen des Dienstkontos stattdessen Folgendes erforderlich ist: Wählen Sie in der Dropdown-Liste "Rolle" "Dienstkonten" -> "Dienstkontonutzer" und "Dienstkonto-Token-Ersteller"
Maks