是否可以从Fabric Beta下载Android APK文件?我们上传了多个版本。
答案 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的答案是正确的。只是为了使其更清楚。
adb shell pm路径$ {package_name}
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的发行说明中。