从Crashlytics下载IPA / APK

我正在使用Crashlytics来分发一个Betatesting的应用程序。

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

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

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

  • 查找附近的应用用户(iPhone和Android)
  • 如何检测墙的长边准备面具和重新着色
  • 如何在不使用XMPP或任何其他脚本的情况下使用FCM将设备发送到设备通知。
  • 使用Android / iPhone在Google App Engine上处理会话
  • 如何退出全屏幕的networking应用程序
  • Android相当于NSNotificationCenter
  • 一个网站(HTML5,JavaScript)可以访问移动设备的(android / iPhone)联系人列表,SDCard文件
  • 是否有更好的Android支持JQTouch JQuery替代?
  • 经过我自己的探索,似乎没有任何方法可以从Crashlytics Beta中获取ipa或apk。

    我build议使用像Jenkins这样的自动化构build过程,并将其上传到Dropbox或者您可以轻松引用的地方,并b)自动上传到Crashlytics进行分发。

    gradle crashlytics插件提供了一个方便的方法来做到这一点:

    gradlew assembleDebug crashlyticsUploadDistributionDebug 

    就我所见,从Crashlytics下载IPA是没有直接的方法。 但是,如果您确实需要获取文件,则可以完成。

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

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

    如果您在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周围使用单引号。)

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

    这个答案可能为时已晚,只针对APK文件,但是我确实可以在安装前确定Crashlytics在哪里存储APK。

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

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

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

    希望这可以帮助!

    我发现了一个简单的方法来让APK在Android上构build。 按着这些次序:

    1. 在您的设备上安装“惊奇的文件pipe理器”。 免费版本就足够了,它不需要你的设备被植根。
    2. 在左边的菜单中打开“应用程序pipe理器”
    3. 按名称查找您的安装版本
    4. 按“三点”,select“备份”
    5. 你会在storage / emulated / 0 / app_backup中find你的APK文件

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

    如果您使用Android,则可以使用Android Monitor从Crashlytics Beta应用程序中提取下载的文件。 为了这个工作,你必须已经安装了Crashlyticstesting版应用程序,并从testing版应用程序中下载了你的应用程序。 然后,按照下列步骤操作:

    1. 打开Android设备监视器
    2. 在左侧的“设备”选项卡中select您的设备
    3. 点击右边的“文件资源pipe理器”视图
    4. 浏览path: data/data/io.crash.air/files 。 在那里你应该find你的.apk文件
    5. 点击右上angular的“从设备上拉出文件”button。

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

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

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

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

    2. 现在,对你的应用程序进行实验(检查configuration文件和签名身份,testing人员的udid是否添加了configuration文件)。

    3. 现在,点击右上angular的织物符号,点击分布button。

    4. 一旦你点击分发,这将显示文本字段和添加button添加testing人员的电子邮件地址。

    5. 添加testing人员电子邮件地址后,点击下一步button继续。

    这将发送电子邮件的ipa文件给testing人员,并显示button来安装它。 这是工作正常将最新版本的iOS。