gpt4 book ai didi

android - 使用 Play 核心库验证非 Google Play 应用安装

转载 作者:行者123 更新时间:2023-12-02 06:22:09 49 4
gpt4 key购买 nike

一些上下文:我们大多数人可能都面临过这个ResourceNotFoundException当我们迁移到 Android 应用程序包 释放方法。很明显,问题是由于侧面加载应用程序造成的。 Reference here.

谷歌最近宣布solution到这个问题。使用 play 核心库,我们可以识别应用程序是否侧载(识别丢失的拆分 apk)。如果应用程序是侧面加载的,它会显示“ 安装失败 ”弹出窗口并重定向到 Play 商店,用户可以在其中通过 Google Play 商店正确安装该应用程序。

问题:一切正常,直到从 Play 商店安装缺少的拆分 apk。现在,当我重新启动该应用程序时,它会立即崩溃并显示错误消息。

Default FirebaseApp is not initialised in this process



注:直接从 Play 商店下载应用程序非常好,没有任何崩溃。仅当应用程序由于侧面加载问题而重新下载时才会发生崩溃。

代码:
项目 build.gradle :
buildscript {
dependencies {
classpath 'com.android.tools.build:bundletool:0.9.0'
}
}

应用模块的 build.gradle :
 implementation 'com.google.android.play:core:1.6.1'

扩展应用程序的类:
 public void onCreate() {
if (MissingSplitsManagerFactory.create(this).disableAppIfMissingRequiredSplits()) {
// Skip app initialization.
return;
}
super.onCreate();
.....
}

任何帮助都会非常棒。

最佳答案

我已经用最新版本的 Play 核心库解决了这个问题:

应用模块的 build.gradle:

implementation "com.google.android.play:core:1.7.2"

其他实现保持不变。

扩展应用程序的类:
public void onCreate() {
if (MissingSplitsManagerFactory.create(this).disableAppIfMissingRequiredSplits()) {
// Skip app initialization.
return;
}
super.onCreate();
.....
}

测试方法:
  • 正确测试它的更好方法是在 Play 商店内部测试 channel 中发布具有上述修复的应用程序包(将自己添加为测试人员)。
  • 模拟安装无效apk - 使用bundletool获取.apks文件,解压并使用 adb 命令安装 base_master.apkadb install base_master.apk .
  • 启动应用程序,您应该会看到“安装失败”对话框,它会重定向到 Play 商店,点击更新,Play 商店将安装缺少的 apk。
  • 启动应用程序现在应该可以正常工作了。

  • 希望这可以帮助

    关于android - 使用 Play 核心库验证非 Google Play 应用安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56725415/

    49 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com