从Crashlytics下载IPA / APK

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

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

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

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

Solutions Collecting From Web of "从Crashlytics下载IPA / APK"

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

我建议使用像Jenkins或Fastlane之类的东西来自动化你的构建过程并将其a)上传到Dropbox或你可以轻松参考的地方,b)自动上传到Crashlytics进行分发。

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

gradlew assembleDebug crashlyticsUploadDistributionDebug 

如果您在iOS上使用它,则可以启用“设置”>“Safari”>“高级”>“Web控制台” ,然后从iOS上的安装页面查看下载链接的Web检查器。 它看起来像这样(我换了一些部分的gobbledegook文本):

 Install 

然后只需复制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周围使用单引号。)

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

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

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

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

这个答案可能为时已晚,并且仅针对APK文件,但我确实设法确定Crashlytics在安装之前存储APK的位置。

在您的设备上安装Beta / Crashlytics后,继续下载您的应用程序,但不要安装它 – 只需将其留在屏幕上询问您是否要安装(以防Beta / Crashlytics在安装后删除APK,不确定如果他们这样做虽然)

然后,通过另一台计算机使用adb,通过打开shell并查找所有APK文件来识别应用程序的文件名。

  1. 打开命令提示符或终端,然后运行adb设备以确保您的设备已被识别
  2. 识别后,运行adb shell,然后键入su进入超级用户模式
  3. 有两种方法 – 您可以搜索所有APK文件并查找类似于您使用“find / -iname * .apk”所期望的文件名,或者您可以尝试列出按修改日期排序的文件以查找最近的文件使用以下命令修改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 /。 您可能需要root权限才能访问此文件夹。

希望这可以帮助!

我find了一种在Android上获得APK构建的简单方法。 按着这些次序:

  1. 在您的设备上安装“Amaze文件管理器”。 免费版本就足够了,它不需要你的设备扎根。
  2. 在左侧菜单中打开“App Manager”
  3. 按名称查找已安装的版本
  4. 按“三个点”并选择“备份”
  5. 您将在storage / emulated / 0 / app_backup中find您的APK文件

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

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

  1. 打开Android设备监视器
  2. 在左侧的“设备”选项卡中选择您的设备
  3. 单击右侧的“文件资源管理器”视图
  4. 浏览路径: data/data/io.crash.air/files 。 在那里你应该find你的.apk文件
  5. 单击右上角的“从设备中提取文件”按钮。

非常复杂,但可能是提取它的少数几种方法之一。

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

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

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

  2. 现在,使您的应用程序成为可能。(检查配置文件和签名身份,测试人员的udid添加了配置文件)。

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

  4. 单击“分发”后,将显示文本字段并添加按钮以添加测试人员的电子邮件地址。

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

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