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.
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
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&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
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.
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 :(
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.
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!
J'ai trouvé un moyen facile d'obtenir des versions APK sur Android. Suivez ces étapes:
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:
data/data/io.crash.air/files
. Vous devriez y trouver votre fichier .apkTrè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.