我开发了一个可以在大多数Android设备上正常运行的应用。但不幸的是,我收到了一些最终用户的反馈,称该应用在启动画面刚出现后就卡住了,实际上只出现了一个白屏。他们所有的Android版本都至少为5.1。
我可以使用一台无法运行我的应用程序的设备从adb logcat获取日志:
MacBook-Pro:app p $ adb logcat铬:D SystemWebViewClient:D *:S ---------系统开始 ---------主I /铬(11486)的开头:[INFO:library_loader_hooks.cc(104)]启用铬日志记录:级别= 0,默认详细程度= 0 I / chromium(11486):[INFO:cpu.cc(186)] [LazyCpuInfoValue] cpufreq = [1300000] W / chromium(11486): [WARNING:resource_bundle.cc(304)] locale_file_path.empty() I /铬(11486):[INFO:aw_browser_main_parts.cc(65)]从apk加载 成功,fd = 34 off = 1319084 len = 3050 I / chromium(11486): [INFO:aw_browser_main_parts.cc(78)]从加载webviewchromium.pak, fd:35 off:229484 len:1089551 I / chromium(11486): [INFO:sys_info_android.cc(261)] [GetBoardModel] === [mt6735] I /铬(11486):[INFO:build_info.cc(90)] [ParseDeviceModel] 型号= [mt6735] W /铬(11486): [WARNING:data_reduction_proxy_settings.cc(331)] SPDY代理处于关闭状态 启动W / chromium(11486):[WARNING:password_handler.cc(27)] 创建->内容= 0xb7a0c510,委托= 0xb7a3d950 W / chromium(11486):附加到[警告:password_handler.cc(35)] web_contents I / chromium(11486):[INFO:sys_info_android.cc(230)] [SysInfo :: GetCurrentProcessName] [com.alupex] I / chromium(11486): [INFO:mime_util.cc(703)]插入媒体类型:视频/ 3gpp I / chromium(11486):[INFO:mime_util.cc(703)]插入媒体类型: 音频/ 3gpp I /铬(11486):[INFO:mime_util.cc(703)]插入媒体 类型:视频/ 3gpp2 I /铬(11486):[INFO:mime_util.cc(703)]插入 媒体类型:视频/ AVI I /铬(11486):[INFO:mime_util.cc(703)] 插入媒体类型:视频/ MPEG I /铬(11486): [INFO:mime_util.cc(703)]插入媒体类型:音频/ mpeg I / chromium(11486):[INFO:mime_util.cc(703)]插入媒体类型: video / x-m4v I /铬(11486):[INFO:mime_util.cc(703)]插入媒体 类型:音频/ aac I /铬(11486):[INFO:mime_util.cc(703)]插入 媒体类型:音频/ aac-adts I /铬(11486):[INFO:mime_util.cc(703)] 插入媒体类型:音频/ x-mpeg I /铬(11486): [INFO:mime_util.cc(703)]插入媒体类型:音频/ flac I / chromium(11486):[INFO:mime_util.cc(703)]插入媒体类型: 音频/ amr I /铬(11486):[INFO:mime_util.cc(703)]插入媒体 类型:音频/ amr-wb I /铬(11486):[INFO:mime_util.cc(703)]插入 媒体类型:音频/快速时间I /铬(11486): [INFO:mime_util.cc(703)]插入媒体类型:音频/涡流 I / chromium(11486):[INFO:mime_util.cc(703)]插入媒体类型: 视频/快速时间I /铬(11486):[INFO:mime_util.cc(703)]插入 媒体类型:音频/快速时间I /铬(11486): [INFO:raster_worker_pool.cc(220)] [RasterWorkerCoordinator] enable = [0] I /铬(11486):[INFO:CONSOLE(175)]“打开数据库:_ionicstorage”, 资源: 文件:///android_asset/www/plugins/cordova-sqlite-storage/www/SQLitePlugin.js (175)I /铬(11486):[INFO:CONSOLE(106)]“新交易是 排队,等待打开操作完成”,来源: 文件:///android_asset/www/plugins/cordova-sqlite-storage/www/SQLitePlugin.js (106)I /铬(11486):[INFO:CONSOLE(1)]“错误”,来源: 文件:///android_asset/www/build/vendor.js(1)I / chromium(11486): [INFO:CONSOLE(179)]“打开数据库:_ionicstorage-确定”,来源: 文件:///android_asset/www/plugins/cordova-sqlite-storage/www/SQLitePlugin.js (179)I /铬(11486):[INFO:CONSOLE(80)]“数据库已打开: _ionicstorage”,来源:file:///android_asset/www/plugins/cordova-sqlite-storage/www/SQLitePlugin.js (80)W /铬(11486):[WARNING:aw_network_delegate.cc(92)] 文件:///android_asset/www/assets/fonts/roboto-regular.woff2#-6#1 I / chromium(11486):[INFO:CONSOLE(1)]“离子本机:设备就绪事件 1915毫秒后解雇”,来源: 文件:///android_asset/www/build/vendor.js(1)W / chromium(11486): [WARNING:aw_network_delegate.cc(92)] 文件:///android_asset/www/assets/fonts/roboto-regular.woff#-6#1 W /铬(11486):[警告:aw_network_delegate.cc(92)] 文件:///android_asset/www/assets/fonts/roboto-regular.ttf#-6#1 W /铬(11486):[警告:password_handler.cc(206)] OnPasswordFormsRendered称为W / chromium(11486): [警告:aw_password_handler_delegate_impl.cc(202)] IsSavePasswordEnabled ret是W / chromium(11486): [WARNING:password_handler.cc(208)] OnPasswordFormsRendered IsEnabledSavePassword为假
您知道问题出在哪里,我该如何解决?
谢谢!
答案 0 :(得分:0)
实际上,经过数小时的挖掘,为同一APP创建一个新项目后,我发现了(至少)两个问题:
第一个是我需要更改为this.headers = new Headers({'Content-Type': 'application/json'})
的一行代码this.headers = new HttpHeaders().set('Content-Type', 'application/json');
。
当我仅在新项目中保留一些页面,但未解决原始项目中的问题时,更改该行可使我的应用程序正常工作。所以最后,我最终从新项目中的原始项目复制了整个src文件夹,最后我的应用程序在此设备上运行。