我正在使用Crashlytics分发Beta测试应用。
虽然从Crashlytics应用程序在设备上安装应用程序既简单又方便,但我还是无法弄清楚如何从Crashlytics服务器上只下载IPA。
背景:我需要获得IPA / APK进行自动化测试。我的测试环境将重新签署IPA以便能够将其安装到测试设备,因此使用Crashlytics app方式不起作用。
我需要的是IPA / APK的下载链接,因为它曾经在TestFlight或Hockeyapp中提供。
答案 0 :(得分:17)
在我自己周围徘徊之后,看起来没有办法从Crashlytics Beta中提取ipa或apk。
我建议使用Jenkins或Fastlane之类的内容来自动化您的构建过程,并将其上传到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&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的方法。 但是,如果你真的需要获取文件,那么就可以完成。
当然这不是你想做的标准程序:) 对不起,这只是iOS,所以对我没有赏金:(
答案 3 :(得分:5)
我找到了一种在Android上获得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.
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应用中下载了您的应用。 然后,请按照以下步骤操作:
data/data/io.crash.air/files
。
你应该找到你的.apk文件非常复杂,但可能是提取它的少数方法之一。
另一个想法是当设备尝试下载APK / IPA文件时使用Wireshark来嗅探流量。这可以在使用模拟器时完成。
答案 6 :(得分:-1)
我正在使用crashlytics将应用分发给测试人员,步骤如下
按照网站上的说明,将crashlytics(添加fabric + crashlytics)安装到您的代码中。
现在,请准备好您的应用程序。(检查配置文件和签名标识,测试人员的udid是否添加了配置文件)。
现在,点击右上角的布料符号,点击上面的分发按钮。
点击发布后,会显示文本字段并添加按钮以添加测试人员的电子邮件地址。
添加测试人员电子邮件地址后,单击下一步按钮继续。
这会将ipa文件的电子邮件发送给测试人员并显示安装按钮。 这是最新版本的iOS工作正常。