Android 从Crashlytics下载IPA/APK

Android 从Crashlytics下载IPA/APK,android,ios,iphone,ipa,crashlytics,Android,Ios,Iphone,Ipa,Crashlytics,我正在使用Crashlytics发布一个应用程序进行Beta测试 虽然在Crashlytics应用程序的设备上安装该应用程序既简单又方便,但我还不知道如何从Crashlytics服务器上只下载IPA 背景:我需要获得IPA/APK进行自动测试。我的测试环境将重新签署IPA,以便能够将其安装到测试设备上,因此采用Crashlytics应用程序的方式是行不通的 我需要的是一个IPA/APK的下载链接,因为它曾经在TestFlight或Hockeyapp中提供。在我自己摸索之后,似乎没有任何方法可以从

我正在使用Crashlytics发布一个应用程序进行Beta测试

虽然在Crashlytics应用程序的设备上安装该应用程序既简单又方便,但我还不知道如何从Crashlytics服务器上只下载IPA

背景:我需要获得IPA/APK进行自动测试。我的测试环境将重新签署IPA,以便能够将其安装到测试设备上,因此采用Crashlytics应用程序的方式是行不通的


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

在我自己摸索之后,似乎没有任何方法可以从Crashlytics Beta中获取IPA或APK

我建议使用或之类的工具来自动化您的构建过程,并将其a)上传到Dropbox或您可以轻松参考的地方,b)自动上传到Crashlytics以供分发

提供了一种方便的方法来执行此操作:

gradlew assembleDebug crashlyticsUploadDistributionDebug

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

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

  • 现在,对您的应用程序进行归档(检查配置文件和签名标识,测试人员的udid是否添加了配置文件)

  • 现在,点击右上角的织物符号,点击那个上的分发按钮

  • 一旦你点击distribute,就会显示textfield和add按钮来添加测试人员的电子邮件地址

  • 添加测试人员电子邮件地址后,单击“下一步”按钮并继续

  • 这将向测试人员发送ipa文件的电子邮件,并显示安装按钮。
    这在最新版本的iOS中运行良好

    据我所知,从Crashlytics下载IPA没有直接的方法。 但是,如果您确实需要获取该文件,则可以这样做

    • 复制Crashlytics邮件中安装按钮的链接目标(或者查看源代码并从那里复制,这就是我所做的)
    • 在模拟器中粘贴到Safari。这将在模拟器中安装Crashlytics应用程序
    • 在模拟器的Crashlytics应用程序中打开安装页面
    • 使用Mac Safari检查模拟器(开发>模拟器)
    • 复制按钮链接并在Mac上的Safari中打开-好了
    当然,这并不是您想要作为标准程序执行的操作:)

    很抱歉,这只是iOS,所以对我来说没有奖励:(

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

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

    php -r "echo urldecode('{PASTE THE ABOVE URL HERE}');"
    
    (请确保在PHP行周围使用双引号,在URL周围使用单引号。)


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

    这可能特别有助于那些试图检索APK文件的人

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

  • 打开Android设备监视器
  • 在左侧的“设备”选项卡中选择您的设备
  • 单击右侧的“文件资源管理器”视图
  • 在路径中导航:
    data/data/io.crash.air/files
    。 您应该可以在那里找到您的.apk文件
  • 单击右上角的“从设备中拉出文件”按钮
  • 非常复杂,但可能是提取它的少数方法之一


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

    这个答案可能太晚了,而且只针对APK文件,但我在安装之前设法确定Crashlytics将APK存储在何处

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

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

  • 打开命令提示符或终端,运行adb设备以确保您的设备被识别
  • 识别后,运行adb shell,然后键入su以进入超级用户模式
  • 有两种方法-您可以搜索所有APK文件,并使用“find/-iname*.APK”查找与预期类似的文件名,或者您可以尝试列出按修改日期排序的文件,以使用以下命令“ls-nl[directory]| sort-k 8,8n-k 6,6M”查找最近修改的APK,其中[directory]是要列出的目录
  • 记下位置,然后退出adb,并使用adb pull获取文件——在我的例子中是“adb pull/data/app/myapplication.apk”
  • TL;DR-Beta/Crashlytics在安装之前将应用程序的APK文件下载到/data/app/。您可能需要root权限才能访问此文件夹


    希望这有帮助!

    我找到了一种在Android上构建APK的简单方法。请遵循以下步骤:

  • 在你的设备上安装“Amaze文件管理器”。免费版本就足够了,它不需要你的设备根目录
  • 打开左侧菜单中的“应用程序管理器”
  • 按名称查找已安装的版本
  • 按“三点”并选择“备份”
  • 您将在存储/模拟/0/app\u备份中找到您的APK文件

  • 嗨,Nachi,谢谢你和Andr一起支持我的事业
    https%3A%2F%2Fapps.crashlytics.com%2Fprojects%2F2F2F2F2F2FF2F2F2%2Freleases%2F2200806%2Fdownload.plist%3Fdevice_id%2F2F2F2F%26device_token%234JH23L4KH234LK2J34H2LK34H2LK3J4H2LK3JH42L3K4JH23LK4JH2L3K4JH2L3K4JH2LKJ3H4%253D--2KJ3H4LK2J3H4L2KJ3H4LK2J3H4LK23JH4LK2J3H4L%26payload_token%2KL34JH2LK3JH4L2K3J4HL23KJ4HL23JK4
    
    php -r "echo urldecode('{PASTE THE ABOVE URL HERE}');"