Приложение выходит из строя, когда я обновляю приложение через UpdateManager, используя 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, ошибка обработки из engine(4) com.google.android.apps.gsa.shared.speech.ag: Ошибка чтения из входного потока на com.google.android.apps.gsa.staticplugins.recognizer.iaa(SourceFile:342)

Любая помощь будет оценена. Благодарю.

1 ответ

Решение

Я просто решил эту проблему путем поиска различных документов 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);
    }

Также необходимо отменить регистрацию Updatemanager в методе onPause() или onDestroy().

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

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

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

Это полное решение hockeyApp в функции обновления приложений.

Другие вопросы по тегам