从Fabric Beta下载Android APK文件

时间:2017-06-19 20:29:52

标签: google-fabric fabric-beta

是否可以从Fabric Beta下载Android APK文件?我们上传了多个版本。

4 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:0)

最新答案,但有人可能需要此答案。您可以通过Beta版或其他任何方式从应用安装的设备上以骇客的方式下载它:

将设备连接到计算机并运行以下命令,确保已正确配置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。可以用于同一设备。

答案 2 :(得分:0)

Mesut的答案是正确的。只是为了使其更清楚。

  1. adb shell pm路径$ {package_name}

  2. adb pull / data / app / $ {package_name_2} /base.apk

在第二个命令中,值$ {package_name_2} /base.apk来自第一个命令。有时,它并不是确切的软件包名称。

就我而言,它是$ {package_name} -1 / base.apk

答案 3 :(得分:-1)

如果您只想下载特定版本,请说" 1.0(143)"然后你可以在beta应用程序中选择该版本并下载它。

如果您需要从同一版本上传多个apks(比如每个部署环境的apk,例如预验证,验证,生产),那么您需要设置gradle以为每个部署环境定义productFlavor,如下所示:

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控制台测试版页面确实显示了两个apks,您可以选择下载并安装其中一个。唯一缺少的部分是两个变体都列出完全相同(因为它们具有相同的versionName和versionCode)。如果Fabric控制台显示除版本/构建信息之外的实际apk名称,则可以轻松解决此问题。我很乐意很棒的Fabric团队很快就能解决这个小功能请求。

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