从 Fabric Beta 下载 Android APK 文件

Posted

技术标签:

【中文标题】从 Fabric Beta 下载 Android APK 文件【英文标题】:Download Android APK file from Fabric Beta 【发布时间】:2017-11-22 04:38:16 【问题描述】:

是否可以?我们上传了多个版本。

【问题讨论】:

【参考方案1】:

来自 Fabric 的 Mike。我们目前不提供下载 .APK 的方法,它们仅由 Crashlytics 应用程序通过 Beta 版提供。

【讨论】:

嗨,迈克。现在你们提供这种选择吗? Fabric 迁移到 Firebase 后,我无法下载位于 Beta 中的关键版本 我建议联系 Firebase 支持,看看是否有办法或提供反馈。我不再从事该产品的工作,所以我不知道最新的情况。【参考方案2】:

迟到的答案,但有人可能需要这个。您可以通过 Beta 或任何方式从应用程序安装的设备上以一种 hacky 方式下载它:

将设备连接到您的计算机并运行以下命令,确保您已正确配置adb

adb shell pm list packages | grep xyz          # get the package name of the app
adb shell pm path app.xyz.stg                  # get the path of the app
adb pull /data/app/app.xyz.stg/base.apk .      # pull the app to PWD

应用的名字是base.apk,改成xyz。这可以用于同一设备。

【讨论】:

【参考方案3】:

梅苏特的回答是正确的。只是为了更清楚。

    adb shell pm path $package_name

    adb pull /data/app/$package_name_2/base.apk

在第二个命令中,值 $package_name_2/base.apk 来自第一个命令。有时它不完全是包名称。

在我的例子中,它是 $package_name-1/base.apk

【讨论】:

如果您喜欢 Mesut 的回答,请给他一个 'up' :) 在这里,对于其他任何人来说半自动化(所以我们可以将旧版本导入 Firebase App Distribution,因为有时需要测试更新/迁移):adb pull `adb shell pm path your.base.package.name | sed 's/package://'` & mv base.apk YourApp-1.2.3-staging.apk(或任何命名方案你喜欢...)【参考方案4】:

如果您只想下载特定版本,例如“1.0(143)”,那么您可以在测试版应用中选择该版本并下载。

如果您需要从同一构建中上传多个 apk(例如为每个部署环境(例如预验证、验证、生产)上传一个 apk),那么您需要设置您的 gradle 来为每个部署环境定义 productFlavors,如下所示:

android 
    ...
    flavorDimensions "deploymentEnvironment"

    productFlavors 
        prevalidation 
            dimension "deploymentEnvironment"
        
        validation 
            dimension "deploymentEnvironment"
        
        production 
            dimension "deploymentEnvironment"
        
    
    ...

然后,您使用以下 gradle 任务作为说明性示例,将来自同一个构建(每个目标部署环境一个)的多个 APK 发布到同一个 Fabric 项目。实际任务取决于为您的项目定义的变体:

./gradlew -s assemblePrevalidationRelease assembleValidationRelease ./gradlew -s crashlyticsUploadDistributionPrevalidationRelease crashlyticsUploadDistributionValidationRelease

Fabric 控制台测试版页面确实显示了这两个 apk,您可以选择下载并安装其中一个。唯一缺少的部分是两个变体被列为完全相同(因为它们具有相同的 versionName 和 versionCode)。如果 Fabric 控制台除了版本/构建信息之外还显示实际的 apk 名称,这可以很容易地解决。我希望出色的 Fabric 团队能够尽快解决这个小功能请求。

在此之前,我使用的一种解决方法是根据 Fabric beta 控制台中的顺序识别构建(有风险但有效),并将目标部署信息放在 Fabric 中给定构建的每个 apk 的发行说明中。

【讨论】:

以上是关于从 Fabric Beta 下载 Android APK 文件的主要内容,如果未能解决你的问题,请参考以下文章

在 Fabric Crashlytics 中添加了无法下载 App 的测试设备或 Beta 用户

Fabric beta 测试:我无法安装 beta 应用

从 Playstore 下载内部测试版时,Android 12 beta 5 应用链接不会自动验证

Fabric 插件未安装在 linux 系统上的 android studio 1.5 中

Fabric beta 未显示已启动事件

Crashlytics iOS Beta 卡在 Fabric 应用程序中