首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >应用内更新提供InstallException (ERROR_API_NOT_AVAILABLE)

应用内更新提供InstallException (ERROR_API_NOT_AVAILABLE)
EN

Stack Overflow用户
提问于 2020-03-17 15:47:54
回答 7查看 5.3K关注 0票数 17

使用以下代码片段实现了应用内更新功能:

代码语言:javascript
运行
复制
private void showInAppUpdateDialog(boolean isMandatoryUpdate) {
    Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();

    appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
        if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
                || appUpdateInfo.updateAvailability() == UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS) {

            int appUpdateType = isMandatoryUpdate ? IMMEDIATE : AppUpdateType.FLEXIBLE;
            int requestCode = isMandatoryUpdate ? REQUEST_APP_UPDATE_IMMEDIATE : REQUEST_APP_UPDATE_FLEXIBLE;

            if (appUpdateInfo.isUpdateTypeAllowed(appUpdateType)) {
                // start the app update
                try {
                    appUpdateManager.startUpdateFlowForResult(appUpdateInfo, appUpdateType, targetActivity, requestCode);
                } catch (IntentSender.SendIntentException e) {
                    e.printStackTrace();
                }
            }
        }
    }).addOnFailureListener(e -> {
        e.printStackTrace();
    });
}

我正在安卓9的设备上测试应用内更新。但是,它给了我一个错误(ERROR_API_NOT_AVAILABLE):

代码语言:javascript
运行
复制
com.google.android.play.core.install.InstallException: Install Error(-3): The API is not available on this device. (https://developer.android.com/reference/com/google/android/play/core/install/model/InstallErrorCode#ERROR_API_NOT_AVAILABLE)
        at com.google.android.play.core.appupdate.i.a(Unknown Source:24)
        at com.google.android.play.core.internal.o.a(Unknown Source:13)
        at com.google.android.play.core.internal.j.onTransact(Unknown Source:22)
        at android.os.Binder.execTransact(Binder.java:731)

这是说,请检查以下链接:https://developer.android.com/reference/com/google/android/play/core/install/model/InstallErrorCode#ERROR_API_NOT_AVAILABLE)

使用Play core库版本: 1.6.5

最新核心库版本:

代码语言:javascript
运行
复制
implementation 'com.google.android.play:core:1.7.0'

然而,我不能理解为什么它会说ERROR_API_NOT_AVAILABLE。任何帮助都将不胜感激!

EN

回答 7

Stack Overflow用户

发布于 2020-03-17 21:18:25

首先,,请检查您是否使用了最新版本的play库。

示例:

你将会得到这个错误:ERROR_API_NOT_AVAILABLE

注意:在测试时,play store上至少需要有一个版本的应用程序。

票数 12
EN

Stack Overflow用户

发布于 2020-04-17 19:15:57

在Vipal建议的基础上,该问题可能是由于您在设备上安装的版本与Play Store将提供的版本之间的签名不匹配造成的(如果您尝试使用调试版本对其进行测试,这是一个常见问题)。请参阅https://developer.android.com/guide/playcore/in-app-updates#troubleshoot

最近,如果应用程序不属于用户或签名不匹配,Play Core API开始返回API_NOT_AVAILABLE错误,而在此之前,它用于返回成功的UPDATE_NOT_AVAILABLE任务。

建议是:

如果您使用Kotlin扩展,请确保您正在捕获requestAppUpdateInfo

  • if抛出的异常。如果您使用Java,请确保您有一个处理来自getAppUpdateInfo

来源:我在Play Core团队工作

票数 9
EN

Stack Overflow用户

发布于 2020-03-17 17:12:01

我的应用程序在今天之前运行得很好,但我今天开始收到这个错误。一个临时的解决办法是清除你的Google Play Store缓存和存储空间,然后尝试启动该应用程序。对我来说,它只在第一次起作用,但后来就失败了。在再次启动应用程序之前,我必须再次清除缓存和存储空间。我认为Google Play Store方面有问题,由于这个问题的发生,因为在今天之前对我来说一切都很好。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60718191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档