web-dev-qa-db-fra.com

Télécharger IPA/APK de Crashlytics

J'utilise Crashlytics pour distribuer une application pour les tests bêta. 

Bien qu'il soit facile et pratique d'installer l'application sur des appareils à partir de l'application Crashlytics, je n'ai pas été en mesure de comprendre comment je ne pouvais télécharger que l'IPA à partir du serveur Crashlytics. 

Contexte: Je dois obtenir l'IPA/APK pour des tests automatisés. Mon environnement de test signera à nouveau l'IPA pour pouvoir l'installer afin de tester des périphériques. Par conséquent, le mode d'application de Crashlytics ne fonctionne pas.

Ce dont j'ai besoin, c'est d'un lien de téléchargement pour l'IPA/APK, tel qu'il était auparavant disponible dans TestFlight ou Hockeyapp.

21
dogsgod

Après avoir fouillé autour de moi, il ne semble pas y avoir de moyen de retirer un ipa ou un apk de Crashlytics Beta.

Je suggérerais d'utiliser quelque chose comme Jenkins ou Fastlane pour automatiser votre processus de construction et le faire a) télécharger sur Dropbox ou quelque part où vous pouvez facilement vous référer et b) télécharger automatiquement sur Crashlytics pour distribution.

Le plugin gradle crashlytics fournit une méthode pratique pour le faire:

gradlew assembleDebug crashlyticsUploadDistributionDebug
17
chenware

Si vous l'utilisez avec iOS, vous pouvez activer Paramètres> Safari> Avancé> Console Web , puis consultez l'inspecteur Web du lien de téléchargement à partir de la page d'installation sur iOS. Cela ressemblera à ceci (j'ai échangé quelques parties dans le texte gobbledegook):

<a class="primary-button js-install-button" href="itms-services://?action=download-manifest&amp;url=https%3A%2F%2Fapps.crashlytics.com%2Fprojects%2F2F2F2F2F2FF2F2F2%2Freleases%2F2200806%2Fdownload.plist%3Fdevice_id%2F2F2F2F%26device_token%234JH23L4KH234LK2J34H2LK34H2LK3J4H2LK3JH42L3K4JH23LK4JH2L3K4JH2L3K4JH2LKJ3H4%253D--2KJ3H4LK2J3H4L2KJ3H4LK2J3H4LK23JH4LK2J3H4L%26payload_token%2KL34JH2LK3JH4L2K3J4HL23KJ4HL23JK4" id="most-recent-install">Install</a> 

Ensuite, copiez simplement l'URL codée par l'URL:

https%3A%2F%2Fapps.crashlytics.com%2Fprojects%2F2F2F2F2F2FF2F2F2%2Freleases%2F2200806%2Fdownload.plist%3Fdevice_id%2F2F2F2F%26device_token%234JH23L4KH234LK2J34H2LK34H2LK3J4H2LK3JH42L3K4JH23LK4JH2L3K4JH2L3K4JH2LKJ3H4%253D--2KJ3H4LK2J3H4L2KJ3H4LK2J3H4LK23JH4LK2J3H4L%26payload_token%2KL34JH2LK3JH4L2K3J4HL23KJ4HL23JK4

Puis urldecode que sur votre ligne de commande en utilisant PHP:

php -r "echo urldecode('{PASTE THE ABOVE URL HERE}');"

(Assurez-vous d'utiliser des guillemets doubles autour de la ligne PHP et des guillemets simples autour de l'URL.)

Collez ensuite le résultat décodé par URL dans Safari sur votre Mac. Vous verrez un fichier XML. copiez le lien de téléchargement et collez-le dans votre navigateur. Cela téléchargera l'IPA sur votre Mac: D

16
CommaToast

Autant que je sache, il n’existe aucun moyen simple de télécharger une IPA à partir de Crashlytics . Toutefois, si vous avez vraiment besoin d’obtenir le fichier, vous pouvez le faire.

  • Copiez la cible du lien du bouton Installer dans le courrier Crashlytics (vous pouvez également afficher la source et copier à partir de là, c'est ce que j'ai fait)
  • Coller dans Safari dans le simulateur. Cela installera l'application Crashlytics dans le simulateur.
  • Ouvrir la page d'installation de l'application Crashlytics dans le simulateur
  • inspecter le simulateur avec votre Mac Safari (Développement> Simulateur)
  • Copier le lien du bouton et ouvrir dans Safari sur Mac - voilà

Bien sûr, il ne s'agit en aucun cas d'une procédure standard :)
Et désolé, ce n’est que iOS, donc pas de prime pour moi :(

12
dogsgod

Cette réponse est probablement trop tard et ne concerne que le fichier APK, mais j'ai réussi à identifier où Crashlytics stocke l'APK avant l'installation.

Après avoir installé Beta/Crashlytics sur votre appareil, téléchargez l’application, mais ne l’installez pas. Laissez-la simplement à l’écran pour vous demander si vous souhaitez l’installer (au cas où Beta/Crashlytics supprime l’APK après l’installation. si c'est le cas)

Ensuite, en utilisant adb via un autre ordinateur, identifiez le nom de fichier de votre application en ouvrant un shell et en recherchant tous les fichiers APK.

  1. Ouvrez la commande Invite ou terminal et exécutez les périphériques adb pour vous assurer que votre périphérique est reconnu.
  2. Une fois reconnu, lancez adb Shell, puis tapez su pour passer en mode superutilisateur.
  3. Il existe deux méthodes - vous pouvez rechercher tous les fichiers APK et rechercher un nom de fichier similaire à celui auquel vous vous attendiez en utilisant "find/-iname * .apk" OR, vous pouvez essayer de répertorier les fichiers triés par date de modification recherchez un fichier APK récemment modifié à l'aide de la commande suivante "ls -nl [répertoire] | sort -k 8,8n -k 6,6M" où [répertoire] est le répertoire que vous souhaitez répertorier
  4. Notez l'emplacement, puis quittez adb et récupérez le fichier en utilisant adb pull. Dans mon cas, il s'agissait de "adb pull /data/app/myapplication.apk".

TL; DR - Beta/Crashlytics télécharge le fichier APK de votre application dans/data/app/avant l’installation. Vous aurez peut-être besoin de privilèges root pour accéder à ce dossier.

J'espère que cela t'aides!

4
chopsuei3

J'ai trouvé un moyen facile d'obtenir des versions APK sur Android. Suivez ces étapes:

  1. Installez "Amaze File Manager" sur votre appareil. La version gratuite est suffisante et il n’est pas nécessaire que votre appareil soit enraciné.
  2. Ouvrez "App Manager" dans le menu de gauche
  3. Trouvez votre version installée par son nom
  4. Appuyez sur "trois points" et sélectionnez "sauvegarde"
  5. Vous trouverez votre fichier APK dans le répertoire storage/emulated/0/app_backup
4
user255758

Cela peut notamment aider ceux qui tentent de récupérer le fichier APK.

Si vous utilisez Android, vous pouvez utiliser Android Monitor pour extraire le fichier téléchargé à partir de l'application Crashlytics Beta . Pour que cela fonctionne, vous devez avoir déjà installé l'application Crashlytics Beta et l'avoir téléchargée depuis le Beta app . Ensuite, procédez comme suit:

  1. Ouvrez le moniteur de périphérique Android
  2. Sélectionnez votre appareil dans l'onglet "Appareils" à gauche
  3. Cliquez sur le "File Explorer" Vue à droite
  4. Naviguez dans le chemin: data/data/io.crash.air/files. Vous devriez y trouver votre fichier .apk
  5. Cliquez sur le bouton "Extraire un fichier du périphérique" en haut à droite.

Très compliqué, mais probablement l’un des rares moyens de l’extraire.

Une autre solution serait d'utiliser Wireshark pour détecter le trafic lorsque l'appareil tente de télécharger le fichier APK/IPA. Cela peut être fait en utilisant un émulateur.

0
w3bshark