android - started - fabric crashlytics
Descargar IPA/APK desde Crashlytics (7)
Estoy usando Crashlytics para distribuir una aplicación para pruebas Beta.
Si bien es fácil y conveniente instalar la aplicación en dispositivos desde la aplicación Crashlytics, no he podido averiguar cómo podía descargar solo la IPA desde el servidor Crashlytics.
Antecedentes: Necesito obtener el IPA / APK para las pruebas automatizadas. Mi entorno de prueba volverá a firmar el IPA para poder instalarlo en dispositivos de prueba, por lo que no funciona el modo de aplicación Crashlytics.
Lo que necesito sería un enlace de descarga para IPA / APK, ya que solía estar disponible en TestFlight o Hockeyapp.
Después de hurgarme alrededor de mí mismo, no parece que haya ninguna forma de extraer una ipa o apk de Crashlytics Beta.
Yo sugeriría usar algo como Jenkins o Fastlane para automatizar el proceso de compilación y hacer que a) se cargue en Dropbox o en algún lugar al que pueda referirse fácilmente yb) se cargue automáticamente a Crashlytics para su distribución.
El plugin crashlytics de Gradle proporciona un método práctico para hacer esto:
gradlew assembleDebug crashlyticsUploadDistributionDebug
Esto puede ayudar específicamente a aquellos que están tratando de recuperar el archivo APK.
Si está usando Android, puede usar el Monitor de Android para extraer el archivo descargado de la aplicación Crashlytics Beta. Para que esto funcione, ya debe haber instalado la aplicación Crashlytics Beta y haber descargado su aplicación desde la aplicación Beta. Luego, sigue estos pasos:
- Abra el monitor del dispositivo Android
- Seleccione su dispositivo en la pestaña "Dispositivos" a la izquierda
- Haga clic en la vista "Explorador de archivos" a la derecha
- Navegue por la ruta:
data/data/io.crash.air/files
. Allí deberías encontrar tu archivo .apk - Haga clic en el botón "Extraer un archivo del dispositivo" en la parte superior derecha.
Muy complicado, pero probablemente una de las pocas formas de extraerlo.
Otro pensamiento sería utilizar Wireshark para detectar el tráfico cuando el dispositivo intenta descargar el archivo APK / IPA. Esto se puede hacer usando un emulador.
Estoy usando crashlytics para distribuir la aplicación a los evaluadores. Los pasos son los siguientes
Instale crashlytics (agregue fabric + crashlytics) a su código como se describe en su sitio.
Ahora, haga un archivo de su aplicación. (Verifique que el perfil de aprovisionamiento y la identidad de firma, la udid de los probadores se agreguen con el perfil de aprovisionamiento).
Ahora, haga clic en el símbolo de la tela en la esquina superior derecha, haga clic en el botón Distribuir en eso.
Una vez que haga clic en Distribuir, esto mostrará el campo de texto y el botón Agregar para agregar las direcciones de correo electrónico de los evaluadores.
Después de agregar las direcciones de correo electrónico de los probadores, haga clic en el botón siguiente y continúe.
Esto enviará un correo electrónico de archivos ipa a los probadores y mostrará los botones para instalarlo. Esto está funcionando bien con las últimas versiones de iOS.
He encontrado una manera fácil de obtener compilaciones APK en Android. Sigue estos pasos:
- Instala "Amaze File Manager" en tu dispositivo. La versión gratuita es suficiente y no necesita que su dispositivo sea rooteado.
- Abra "Administrador de aplicaciones" en el menú de la izquierda
- Encuentra tu construcción instalada por su nombre
- Pulse "tres puntos" y seleccione "copia de seguridad"
- Encontrará su archivo APK en el almacenamiento / emulated / 0 / app_backup
Por lo que puedo ver, no hay una forma sencilla de descargar una IPA de Crashlytics. Sin embargo, si realmente necesita obtener el archivo, puede hacerlo.
- Copie el destino del enlace del botón Instalar en el correo de Crashlytics (alternativamente vea la fuente y copie desde allí, esto es lo que hice)
- Pegar a Safari en el Simulador. Esto instalará la aplicación Crashlytics en el simulador.
- Abre la página de instalación en la aplicación Crashlytics en simulador
- inspecciona el simulador con tus Macs Safari (Desarrollar> Simulador)
- Copie el enlace del botón y ábralo en Safari en Mac. Ahí lo tiene.
Por supuesto, esto no es nada que quieras hacer como un procedimiento estándar :)
Y lo siento, esto es solo para iOS, así que no hay recompensa para mí :(
Probablemente esta respuesta sea demasiado tarde y solo sea específica del archivo APK, pero logré identificar dónde almacena Crashlytics el APK antes de la instalación.
Después de instalar Beta / Crashlytics en su dispositivo, siga adelante y descargue su aplicación, pero no la instale, simplemente déjela en la pantalla preguntándole si desea instalarla (en caso de que Beta / Crashlytics elimine el APK después de la instalación, no estoy seguro si lo hacen sin embargo)
Luego, utilizando adb a través de otra computadora, identifique el nombre de archivo de su aplicación abriendo un shell y encontrando todos los archivos APK.
- Abra el símbolo del sistema o el terminal y ejecute dispositivos adb para asegurarse de que su dispositivo sea reconocido
- Una vez reconocido, ejecute adb shell y luego escriba su para ingresar al modo de superusuario
- Hay 2 formas: puede buscar todos los archivos APK y buscar un nombre de archivo similar al que esperaría al usar "buscar / -iname * .apk" O puede intentar enumerar los archivos ordenados por fecha de modificación para buscarlos recientemente. APK modificado usando el siguiente comando "ls -nl [directorio] | sort -k 8,8n -k 6,6M" donde [directorio] es el directorio que desea listar
- Anote la ubicación y luego salga de adb, y tome el archivo usando adb pull, en mi caso fue "adb pull /data/app/myapplication.apk"
TL; DR: Beta / Crashlytics descarga el archivo APK de su aplicación en / data / app / antes de instalar. Es posible que necesite privilegios de root para acceder a esta carpeta.
¡Espero que esto ayude!
Si lo está utilizando con iOS, puede habilitar Configuración> Safari> Avanzado> Consola web , y luego buscar en el inspector web del enlace de descarga desde la página de instalación en iOS. Se verá así (cambié el texto de algunas páginas):
<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>
Luego simplemente copie la URL codificada en URL:
https%3A%2F%2Fapps.crashlytics.com%2Fprojects%2F2F2F2F2F2FF2F2F2%2Freleases%2F2200806%2Fdownload.plist%3Fdevice_id%2F2F2F2F%26device_token%234JH23L4KH234LK2J34H2LK34H2LK3J4H2LK3JH42L3K4JH23LK4JH2L3K4JH2L3K4JH2LKJ3H4%253D--2KJ3H4LK2J3H4L2KJ3H4LK2J3H4LK23JH4LK2J3H4L%26payload_token%2KL34JH2LK3JH4L2K3J4HL23KJ4HL23JK4
Luego urldecode eso en su línea de comando usando PHP:
php -r "echo urldecode(''{PASTE THE ABOVE URL HERE}'');"
(Asegúrese de usar comillas dobles alrededor de la línea de PHP y comillas simples alrededor de la URL).
Luego pegue el resultado decodificado de URL en Safari en su Mac. Verás un archivo XML; Copia el enlace de descarga y pégalo en tu navegador. Esto descargará la IPA a tu Mac: D