it-swarm.com.ru

Скачать IPA/APK с Crashlytics

Я использую Crashlytics для распространения приложения для бета-тестирования. 

Хотя установить приложение на устройства из приложения Crashlytics просто и удобно, я не смог понять, как я могу загрузить только IPA с сервера Crashlytics. 

Справочная информация: мне нужно получить IPA/APK для автоматического тестирования. Моя тестовая среда будет переподписывать IPA, чтобы иметь возможность установить его для тестирования устройств, поэтому использование приложения Crashlytics не работает.

Что мне нужно, так это ссылка на скачивание для IPA/APK, поскольку она раньше была доступна в TestFlight или Hockeyapp.

21
dogsgod

Пошарив вокруг себя, не похоже, что есть какой-либо способ извлечь ipa или apk из Crashlytics Beta.

Я бы предложил использовать что-то вроде Jenkins или Fastlane для автоматизации вашего процесса сборки и сделать это а) загрузить в Dropbox или куда-либо, на что вы можете легко сослаться, и б) автоматически загрузить в Crashlytics для распространения.

Плагин gradle crashlytics предоставляет удобный метод для этого:

gradlew assembleDebug crashlyticsUploadDistributionDebug
17
chenware

Если вы используете его с iOS, вы можете включить «Настройки»> «Safari»> «Дополнительно»> «Веб-консоль» , а затем заглянуть в веб-инспектор по ссылке для скачивания со страницы установки на iOS. Это будет выглядеть следующим образом (я поменял местами текст в стиле 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> 

Затем просто скопируйте URL-кодированный URL:

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

Затем urldecode, который в командной строке с помощью PHP:

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

(Убедитесь, что вы используете двойные кавычки вокруг строки PHP и одинарные кавычки вокруг URL.)

Затем вставьте результат декодирования URL в Safari на вашем Mac. Вы увидите файл XML; Скопируйте ссылку для скачивания и вставьте в свой браузер. Это загрузит IPA на ваш Mac: D

16
CommaToast

Насколько я вижу, нет прямого способа загрузить IPA из Crashlytics .... Однако, если вам действительно нужно получить файл, это можно сделать.

  • Скопируйте цель ссылки кнопки Install в почте Crashlytics (альтернативно просмотрите исходный код и скопируйте оттуда, это то, что я сделал)
  • Вставьте в Safari в симуляторе. Это установит приложение Crashlytics в симуляторе
  • Открыть страницу установки в приложении Crashlytics в симуляторе
  • осмотрите симулятор на вашем Macs Safari (Разработка> Симулятор)
  • Скопируйте ссылку на кнопку и откройте в Safari на Mac - вот и все

Конечно, это не то, что вы хотите сделать в качестве стандартной процедуры :)
И извините, это только iOS, так что нет для меня награды :(

12
dogsgod

Этот ответ, вероятно, слишком поздний и относится только к файлу APK, но мне удалось определить, где Crashlytics хранит APK перед установкой.

После установки Beta/Crashlytics на ваше устройство, загрузите приложение, но не устанавливайте его - просто оставьте его на экране, спрашивая, хотите ли вы установить (на случай, если Beta/Crashlytics удалит APK после установки, не уверен если они делают хотя)

Затем, используя adb через другой компьютер, определите имя файла вашего приложения, открыв Shell и найдя все APK-файлы.

  1. Откройте командную строку или терминал и запустите устройства adb, чтобы убедиться, что ваше устройство распознается
  2. После распознавания запустите adb Shell, а затем введите su, чтобы войти в режим суперпользователя.
  3. Есть 2 способа - вы можете искать все APK-файлы и искать имя файла, похожее на то, что вы ожидаете, используя "find/-iname * .apk" OR, вы можете попробовать перечислить файлы, отсортированные по дате изменения, в Найдите недавно измененный APK, используя следующую команду "ls -nl [directory] | sort -k 8,8n -k 6,6M", где [directory] - каталог, который вы хотите отобразить
  4. Обратите внимание на местоположение, затем закройте adb и захватите файл с помощью adb pull - в моем случае это было «adb pull /data/app/myapplication.apk»

TL; DR - Beta/Crashlytics загружает файл APK для вашего приложения в/data/app/перед установкой. Вам могут потребоваться права суперпользователя для доступа к этой папке.

Надеюсь это поможет!

4
chopsuei3

Я нашел простой способ получить APK сборки на Android. Следуй этим шагам:

  1. Установите «Amaze File Manager» на ваше устройство. Достаточно бесплатной версии, и вам не нужно рутировать ваше устройство.
  2. Откройте «Диспетчер приложений» в меню слева
  3. Найдите установленную сборку по ее имени
  4. Нажмите «три точки» и выберите «резервное копирование»
  5. Вы найдете свой APK-файл в хранилище/emulated/0/app_backup
4
user255758

Это может особенно помочь тем, кто пытается получить файл APK.

Если вы используете Android, вы можете использовать Android Monitor для извлечения файла, загруженного из бета-приложения Crashlytics . Чтобы это работало, вы, должно быть, уже установили бета-приложение Crashlytics и загрузили свое приложение из Бета-приложение . Затем выполните следующие действия:

  1. Откройте Android Device Monitor
  2. Выберите свое устройство на вкладке «Устройства» слева
  3. Нажмите на "Проводник". Вид справа
  4. Перейдите по пути: data/data/io.crash.air/files. Там вы должны найти свой .apk файл
  5. Нажмите на кнопку «Вытащить файл с устройства» в правом верхнем углу.

Очень сложный, но, вероятно, один из немногих способов извлечь его.

Еще одна мысль - использовать Wireshark для отслеживания трафика, когда устройство пытается загрузить файл APK/IPA. Это можно сделать при использовании эмулятора.

0
w3bshark