Ich verwende Crashlytics, um eine App für Beta-Tests zu verteilen.
Obwohl es einfach und bequem ist, die App auf Geräten von der Crashlytics-App zu installieren, konnte ich nicht herausfinden, wie ich nur die IPA vom Crashlytics-Server herunterladen konnte.
Hintergrund: Ich brauche die IPA/APK für automatisierte Tests. In meiner Testumgebung wird der IPA erneut signiert, damit er auf Testgeräten installiert werden kann. Daher funktioniert die Crashlytics-App nicht.
Was ich brauche, wäre ein Download-Link für das IPA/APK, wie es früher in TestFlight oder Hockeyapp verfügbar war.
Nachdem ich mich selbst umgesehen habe, sieht es nicht so aus, als ob es einen Weg gibt, einen ipa oder apk aus Crashlytics Beta zu ziehen.
Ich würde vorschlagen, etwas wie Jenkins oder Fastlane zu verwenden, um Ihren Build-Prozess zu automatisieren und es a) in Dropbox hochzuladen oder an einem Ort, an den Sie sich leicht beziehen können, und b) automatisch in Crashlytics zur Verteilung hochladen.
Das gradle crashlytics plugin bietet eine praktische Methode, um dies zu tun:
gradlew assembleDebug crashlyticsUploadDistributionDebug
Wenn Sie es mit iOS verwenden, können Sie Settings> Safari> Advanced> Web Console aktivieren und dann im Web-Inspector des Download-Links auf der Installationsseite von iOS nachsehen. Es wird so aussehen (ich habe den Gobbledegook-Text für einige Teile ausgetauscht):
<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>
Dann kopieren Sie einfach die URL-kodierte URL:
https%3A%2F%2Fapps.crashlytics.com%2Fprojects%2F2F2F2F2F2FF2F2F2%2Freleases%2F2200806%2Fdownload.plist%3Fdevice_id%2F2F2F2F%26device_token%234JH23L4KH234LK2J34H2LK34H2LK3J4H2LK3JH42L3K4JH23LK4JH2L3K4JH2L3K4JH2LKJ3H4%253D--2KJ3H4LK2J3H4L2KJ3H4LK2J3H4LK23JH4LK2J3H4L%26payload_token%2KL34JH2LK3JH4L2K3J4HL23KJ4HL23JK4
Dann urldecode das in deiner Kommandozeile mit PHP:
php -r "echo urldecode('{PASTE THE ABOVE URL HERE}');"
(Stellen Sie sicher, dass Sie in der Zeile PHP doppelte Anführungszeichen und in der URL einfache Anführungszeichen verwenden.)
Fügen Sie dann das URL-decodierte Ergebnis in Safari auf Ihrem Mac ein. Sie sehen eine XML-Datei. Kopieren Sie den Download-Link und fügen Sie ihn in Ihren Browser ein. Dadurch wird der IPA auf Ihren Mac heruntergeladen: D
Soweit ich sehen kann, gibt es keine direkte Möglichkeit, eine IPA von Crashlytics herunterzuladen.
Natürlich möchten Sie dies nicht als Standardverfahren tun :)
Und sorry, das ist nur iOS, also keine Belohnung für mich :(
Diese Antwort ist wahrscheinlich zu spät und bezieht sich nur auf die APK-Datei. Ich habe jedoch ermittelt, wo Crashlytics die APK vor der Installation speichert.
Laden Sie Ihre Anwendung nach der Installation von Beta/Crashlytics auf Ihr Gerät herunter, aber installieren Sie sie nicht. Installieren Sie sie einfach auf dem Bildschirm und fragen Sie, ob Sie die Installation durchführen möchten wenn doch
Identifizieren Sie dann mithilfe von adb über einen anderen Computer den Dateinamen Ihrer Anwendung, indem Sie eine Shell öffnen und alle APK-Dateien suchen.
TL; DR - Beta/Crashlytics lädt die APK-Datei für Ihre Anwendung vor der Installation nach/data/app/herunter. Sie benötigen möglicherweise Root-Berechtigungen, um auf diesen Ordner zuzugreifen.
Hoffe das hilft!
Ich habe einen einfachen Weg gefunden, um APK-Builds auf Android zu erhalten. Folge diesen Schritten:
Dies kann insbesondere denjenigen helfen, die versuchen, die APK-Datei abzurufen.
Wenn Sie Android verwenden, können Sie Android Monitor verwenden, um die aus der Crashlytics Beta-App heruntergeladene Datei zu extrahieren. Damit dies funktioniert, müssen Sie die Crashlytics Beta-App bereits installiert haben und Ihre App aus der Beta-App . Führen Sie dann die folgenden Schritte aus:
data/data/io.crash.air/files
. Dort sollten Sie Ihre .apk-Datei findenSehr kompliziert, aber wahrscheinlich eine der wenigen Möglichkeiten, sie zu extrahieren.
Ein anderer Gedanke wäre, Wireshark zu verwenden, um den Datenverkehr zu erfassen, wenn das Gerät versucht, die APK/IPA-Datei herunterzuladen. Dies kann bei Verwendung eines Emulators erfolgen.