从Fabric Beta下载Android APK文件

问题描述 投票:8回答:4

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

google-fabric fabric-beta
4个回答
8
投票

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


0
投票

迟到的答案,但有人可能需要这个。您可以通过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。这可以用于同一设备。


0
投票

梅苏特的回答是正确的。只是为了让它更清晰。

  1. adb shell pm path $ {package_name}
  2. adb pull /data/app/${package_name_2}/base.apk

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

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


-1
投票

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

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

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

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.