当我使用 hockeyapp 通过 UpdateManager 更新应用程序时,应用程序崩溃了

App is getting crashed when I update app through UpdateManager using hockeyapp

我的 android 应用程序在通过 hockeyapp UpdateManager 更新应用程序时崩溃了。

这是我的更新代码:

private void checkForUpdates() {
        // Remove this for store builds!
        UpdateManager.register(this, getResources().getString(R.string.hockey_app_id), new UpdateManagerListener() {
            @Override
            public void onNoUpdateAvailable() {
                super.onNoUpdateAvailable();

                // no update is available ->  load login screen
//                setFragment(R.id.container_login, new LoginFragment());
            }

            @Override
            public void onUpdateAvailable(JSONArray data, String url) {
                super.onUpdateAvailable(data, url);
            }
        }, true);
    }

它正在显示更新对话框,但是当我单击更新时,100% 加载后应用程序崩溃了。这是崩溃日志:

onFatalError, processing error from engine(4) com.google.android.apps.gsa.shared.speech.a.g: Error reading from input stream at com.google.android.apps.gsa.staticplugins.recognizer.i.a.a(SourceFile:342)

如有任何帮助,我们将不胜感激。谢谢。

我刚刚通过搜索 hockeyApp 的不同文档解决了这个问题。 这是上述问题的解决方案:

检查更新方法:

private void checkForUpdates() {

        StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
        StrictMode.setVmPolicy(builder.build());

        UpdateManager.register(this, getResources().getString(R.string.hockey_app_id), new UpdateManagerListener() {
            @Override
            public void onNoUpdateAvailable() {
                super.onNoUpdateAvailable();

                // no update is available ->  load login screen
//                setFragment(R.id.container_login, new LoginFragment());
            }

            @Override
            public void onUpdateAvailable(JSONArray data, String url) {
                super.onUpdateAvailable(data, url);
            }
        }, true);
    }

还需要在 activity onPause() 或 onDestroy() 方法中注销 Updatemanager。

private void unregisterManagers() {
        UpdateManager.unregister();
    }

    @Override
    public void onPause() {
        super.onPause();
        unregisterManagers();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        unregisterManagers();
    }

这是hockeyApp在应用更新功能中的完整解决方案。