当我通过hockeyapp UpdateManager更新应用程序时,我的Android应用程序崩溃了。
这是我的更新代码:
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,来自引擎的处理错误(4) com.google.android.apps.gsa.shared.speech.a.g:读取错误 输入流 在 com.google.android.apps.gsa.staticplugins.recognizer.i.a.a(的SourceFile:342)
任何帮助将不胜感激。谢谢。
答案 0 :(得分:0)
我刚刚通过搜索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);
}
还需要在活动onPause()或onDestroy()方法中取消注册Updatemanager。
private void unregisterManagers() {
UpdateManager.unregister();
}
@Override
public void onPause() {
super.onPause();
unregisterManagers();
}
@Override
public void onDestroy() {
super.onDestroy();
unregisterManagers();
}
这是hockeyApp在应用更新功能中的完整解决方案。