从Crashlytics下载IPA / APK

时间:2015-03-03 14:51:32

标签: android ios iphone ipa crashlytics

我正在使用Crashlytics分发Beta测试应用。

虽然从Crashlytics应用程序在设备上安装应用程序既简单又方便,但我还是无法弄清楚如何从Crashlytics服务器上只下载IPA。

背景:我需要获得IPA / APK进行自动化测试。我的测试环境将重新签署IPA以便能够将其安装到测试设备,因此使用Crashlytics app方式不起作用。

我需要的是IPA / APK的下载链接,因为它曾经在TestFlight或Hockeyapp中提供。

7 个答案:

答案 0 :(得分:17)

在我自己周围徘徊之后,看起来没有办法从Crashlytics Beta中提取ipa或apk。

我建议使用JenkinsFastlane之类的内容来自动化您的构建过程,并将其上传到Dropbox或您可以轻松参考的地方,以及b)自动上传到Crashlytics进行分发。

gradle crashlytics plugin提供了一种方便的方法:

gradlew assembleDebug crashlyticsUploadDistributionDebug

答案 1 :(得分:16)

如果您在iOS上使用它,则可以启用设置> Safari>高级> Web控制台,然后从iOS上的安装页面查看下载链接的Web检查器。它看起来像这样(我在某些部分交换了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

然后使用PHP在命令行上对其进行urldecode:

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

(确保在PHP行周围使用双引号,并在URL周围使用单引号。)

然后将网址解码后的结果粘贴到Mac上的Safari中。您将看到一个XML文件;复制下载链接并粘贴到您的浏览器中。这会将IPA下载到您的Mac:D

答案 2 :(得分:12)

据我所知,没有直接从Crashlytics下载IPA的方法。 但是,如果你真的需要获取文件,那么就可以完成。

  • 复制Crashlytics邮件中安装按钮的链接目标(或者从那里查看源代码和副本,这就是我所做的)
  • 在模拟器中粘贴到Safari。这将在模拟器中安装Crashlytics应用程序
  • 在模拟器中的Crashlytics应用程序中打开安装页面
  • 使用Macs Safari检查模拟器(开发&gt;模拟器)
  • 复制按钮链接并在Mac上的Safari中打开 - 你去了

当然这不是你想做的标准程序:) 对不起,这只是iOS,所以对我没有赏金:(

答案 3 :(得分:5)

我找到了一种在Android上获得APK构建的简便方法。请按照以下步骤操作:

  1. 安装&#34; Amaze文件管理器&#34;在你的设备上。免费版本就足够了,它不需要你的设备扎根。
  2. 打开&#34;应用管理器&#34;在左侧菜单中
  3. 按名称
  4. 查找已安装的版本
  5. 按&#34;三个点&#34;并选择&#34; backup&#34;
  6. 您将在storage / emulated / 0 / app_backup
  7. 中找到您的APK文件

答案 4 :(得分:4)

This answer is probably too late, and is only specific to the APK file, but I did manage to identify where Crashlytics stores the APK before installation.

After installing Beta/Crashlytics on your device, go ahead and download your application, but don't install it - just leave it at the screen asking if you want to install (just in case Beta/Crashlytics deletes the APK after installation, not sure if they do though)

Then, using adb via another computer, identify the file name of your application by opening up a shell and finding all APK files.

  1. Open command prompt or terminal, and run adb devices to ensure your device is recognized
  2. Once recognized, run adb shell, and then type su to enter superuser mode
  3. There are 2 ways - you can search for all APK files and look for a file name similar to what you would expect using "find / -iname *.apk" OR you can try listing the files sorted by modified date to look for a recently modified APK using the following command "ls -nl [directory] | sort -k 8,8n -k 6,6M" where [directory] is the directory you want to list
  4. Note the location, and then exit adb, and grab the file using adb pull - in my case it was "adb pull /data/app/myapplication.apk"

TL;DR - Beta/Crashlytics downloads the APK file for your application to /data/app/ before installing. You may need root privileges to access this folder.

Hope this helps!

答案 5 :(得分:0)

这可能会特别帮助那些尝试检索APK文件的人。

如果您使用的是Android,则可以使用Android Monitor提取从Crashlytics Beta应用下载的文件。 为此,您必须已经安装了Crashlytics Beta应用,并已从Beta应用中下载了您的应用。 然后,请按照以下步骤操作:

  1. 打开Android设备监视器
  2. 在&#34;设备&#34;中选择您的设备左侧的标签
  3. 点击&#34;文件资源管理器&#34;在右侧查看
  4. 浏览路径:data/data/io.crash.air/files。 你应该找到你的.apk文件
  5. 点击&#34;从设备中提取文件&#34;右上角的按钮。
  6. 非常复杂,但可能是提取它的少数方法之一。

    另一个想法是当设备尝试下载APK / IPA文件时使用Wireshark来嗅探流量。这可以在使用模拟器时完成。

答案 6 :(得分:-1)

我正在使用crashlytics将应用分发给测试人员,步骤如下

  1. 按照网站上的说明,将crashlytics(添加fabric + crashlytics)安装到您的代码中。

  2. 现在,请准备好您的应用程序。(检查配置文件和签名标识,测试人员的udid是否添加了配置文件)。

  3. 现在,点击右上角的布料符号,点击上面的分发按钮。

  4. 点击发布后,会显示文本字段并添加按钮以添加测试人员的电子邮件地址。

  5. 添加测试人员电子邮件地址后,单击下一步按钮继续。

  6. 这会将ipa文件的电子邮件发送给测试人员并显示安装按钮。 这是最新版本的iOS工作正常。