Come caricare un APK da Jenkins / Hudson a Play Store?

Ho implementato una pipeline di integrazione continua utilizzando Jenkins, ma come passo finale voglio che Jenkins distribuisca / carica il file APK firmato in Google Play Store e AndroidPit. Ho cercato i plugin Jenkins / Hudson ma ho trovato solo due: uno per Appaloosa e uno per Zubhium.

Ho un account per sviluppatori di lavoro sia su Google Play che su AndroidPit e posso caricare manualmente l'APK prodotto da Jenkins. Ma la mia domanda è: Qualcuno sa un modo per insegnare Jenkins (ad esempio tramite uno script di shell) per caricare l'APK nei negozi di cui sopra?

  • Chiamare context.getResources () restituisce null
  • Servizio chiamato automaticamente per distruggere l'attività
  • Crea errore dopo aver aggiunto il plugin Crosswalk a un progetto Android di Cordova
  • Le transizioni di elementi condivisi di frammento non funzionano con ViewPager
  • Come faccio a impedire che Android esegua uno screenshot quando la mia applicazione va in background?
  • È ansible cambiare il colore della scheda selezionata in android?
  • Android, KSoap2 e .NET Web Service con parametri = risultato NULL
  • L'impostazione di setBackgroundResource di Android provoca l'exception della memory
  • Passare ArrayList <MyObject> tra attività multiple
  • Applicazione disegnata da vector Android: srcCompat che non mostra le immagini
  • Android scrive nella cartella SD card
  • GCM spinge le notifiche su android 3.1: distriggers il ricevitore di trasmissione
  • 5 Solutions collect form web for “Come caricare un APK da Jenkins / Hudson a Play Store?”

    C'è un plugin per Android Publisher di Google Play per Jenkins che utilizza l' API per la pubblicazione di Google Play , annunciato a Google I / O 2014.

    Google ha anche rilasciato librerie Java e Python per aiutare l'utilizzo dell'API.

    Per ulteriori informazioni sull'API, vedere anche:
    http://android-developers.blogspot.com/2014/07/grow-with-google-play-scaled-publishing.html

    Posso parlare solo per Google Play Store. C'è un modo, ma essere avvertito, non è bello, devi codificare la tua soluzione. Sto scrivendo una tesi di laurea per risolvere questo problema – "Consegna continua per applicazioni Android". La mia soluzione è mia, significa che non sollevo una richiesta per avere la soluzione perfetta, ma posso dire che è un prototipo molto funzionante.

    Ho scoperto quanto segue:

    • La prima soluzione è nessuna. Google offre un API Play Store , ma non ha la possibilità di caricare elementi. Sembra che stavano già pensando di creare una tale API, ma solo offre il controllo di fatturazione in-App

    • La seconda soluzione consiste nell'utilizzare la libreria Apache HttpComponents, che consente di implementare il proprio client per la console di sviluppo di Google Play, ma HttpClient manca di un interpnetworking JavaScript … diversi modi per implementarlo o aggiungere uno. Ma naturalmente, non il modo più semplice.

    • La terza soluzione su cui sto lavorando è utilizzare il Selenium Web Browser Automation Framework. Quindi fondamentalmente creo PageObjects da quelle Play Store Pagine e dialoghi. Dopo di che è ansible creare una fabbrica per mantenere "routes" di controllo di questi PageObjects.

    Utilizzandoli, sono disponibili due opzioni, ad esempio il WebDriver Objects che utilizza un process di browser "invisibile" come FF o Chrome e un altro che utilizzo è ChromeDriver che utilizza un process di Visual Browser per eseguire le azioni dell'utente. E non dimenticate di avere Gestori di exception che esegue la scansione della pagina Web per gli errori visualizzati durante l'uso.

    Ci sono un sacco di insidie, a causa di eventuali modifiche del Design da Google, che consente la rottura del Software. Ma ci sono anche alcuni modi per gestirlo. =) E crea un XML contenente tutte le informazioni valorizzabili su un'applicazione, utile quando si continua al passaggio successivo.

    È ansible creare un Maven Plugin . Questo è ansible caricare nel tuo Continuous Integration Server. Spero di poterti aiutare un po '.

    Credo che non sia incluso nell'APP PlayStore attualmente per ridurre lo stress sul sistema e per evitare abusi.

    Credo che possiamo vedere questo nel plugin gradle e nel IDE in futuro. Mentre aspettiamo che google decida di aprire l'API, ecco una soluzione che è così evidente che wherevo solo proporre:

    Se si dispone di una GUI, utilizzare l'automazione GUI per l'ultimo passo.

    Dal momento che Google Play ha rilasciato l'API di caricamento, è stato creato un plugin:

    https://wiki.jenkins-ci.org/pages/viewpage.action?pageId=73533143

    Non l'ho ancora provato, ma sembra che sia esattamente quello che cercavamo.

    Ci sono altri plugin che pnetworkingndono di fare lo stesso (thanks @mdt)

    Il plugin di Google Publisher Android per Jenkins è un bene. Tuttavia, non support il caricamento di descrizioni e screenshot (alless per ora).

    Ho trovato un gradevole plugin Gradle, chiamato Gradle Play Publisher . Support il caricamento di apk, l'aggiornamento dei metadati e il caricamento di screenshot. E ha solo bisogno di pochi passi per impostare.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.