目錄
- 問(wèn)題描述
- 1 可能引發(fā)該問(wèn)題的X因子集合
- 2 使用f方法針對(duì)X因子進(jìn)行測(cè)試驗(yàn)證
- 2.1 驗(yàn)證cordova-plugin-splashscreen插件是否是關(guān)鍵因子
- 2.2 驗(yàn)證Cordova橋android端源碼是否是關(guān)鍵因子
- 2.3 驗(yàn)證AngularJS3.2.0是否是關(guān)鍵影響因子
- 2.3.1 使用ionic1中的AngularJS 1.5.3 版本進(jìn)行驗(yàn)證
- 3 尋找具體原因
- 3.1 查看日志是否包含有效信息
- 3.1.1 驗(yàn)證 設(shè)置AngularJS為生產(chǎn)模式是否是關(guān)鍵因子
- 3.1.2 驗(yàn)證 deviceready 消息超時(shí)是否是關(guān)鍵因子
- 3.1.3 驗(yàn)證 AngularJS 4.1.2 的 platform對(duì)象是否是關(guān)鍵因子
- 3.1 查看日志是否包含有效信息
- 4 修改問(wèn)題
- 5 附錄
- 5.1 ionic2測(cè)試日志
- 5.2 ionic3測(cè)試日志
問(wèn)題描述:
- 使用 ionic3.4.0 創(chuàng)建的 ionic項(xiàng)目(其中Android框架6.2.3版本承绸、AngularJS框架4.1.2版本钝满、Cordova源碼JS端6.2.3版本)
- 使用ionic cordova build android生成apk安裝包。
- 運(yùn)行apk安裝包啟動(dòng)頁(yè)面動(dòng)畫等待3秒构挤,之后頁(yè)面白屏5秒傲诵。共計(jì)啟動(dòng)頁(yè)面需要8秒的時(shí)間。
- 結(jié)論:程序運(yùn)行啟動(dòng)需要8秒箱硕,用戶體驗(yàn)無(wú)法接受拴竹。
1、可能引發(fā)該問(wèn)題的X因子集合
Cordova橋JS端源碼(AngularJS 3.2.0版本)
Cordova橋android端源碼
cordova-plugin-splashscreen插件源碼
2剧罩、使用f方法針對(duì)X因子進(jìn)行測(cè)試驗(yàn)證
2.1 驗(yàn)證cordova-plugin-splashscreen插件是否是關(guān)鍵因子栓拜?
-
驗(yàn)證方法:
- 使用ionic cordova plugin刪除 cordova-plugin-splashscreen插件,并刪除JS端相關(guān)的splashscreen的調(diào)用方法惠昔,運(yùn)行應(yīng)用幕与,查看效果;
-
驗(yàn)證效果:
- 啟動(dòng)動(dòng)畫頁(yè)面消失镇防,白屏5秒進(jìn)行應(yīng)用啦鸣;
-
結(jié)論:
- cordova-plugin-splashscreen對(duì)控制啟動(dòng)頁(yè)面動(dòng)畫。(該3秒的時(shí)間可可以通過(guò)修改config.xml里的 SplashScreenDelay 來(lái)控制時(shí)間長(zhǎng)短来氧。)
2.2 驗(yàn)證Cordova橋android端源碼是否是關(guān)鍵因子诫给?
因?yàn)閕onic1中沒有出現(xiàn)此問(wèn)題香拉,對(duì)比了ionic1與ionic3項(xiàng)目中除了AngularJS端的代碼差異。
-
驗(yàn)證方法:
- 使用beyond compare軟件對(duì)比兩個(gè)項(xiàng)目的代碼文件中狂。
-
驗(yàn)證效果:
- cordova-plugin-splashscreen凫碌、android框架包沒有差異。
-
結(jié)論:
- 80%排除原生端代碼對(duì)該問(wèn)題的影響胃榕。
2.3 驗(yàn)證AngularJS3.2.0是否是關(guān)鍵影響因子盛险?
2.3.1 使用ionic2中的AngularJS 1.5.3 版本進(jìn)行驗(yàn)證:
-
驗(yàn)證方法:
- 互換ionic2與ionic3中platforms/android/assets/www目錄;
驗(yàn)證效果:
組合方式 | ionic版本 | AngularJS版本 | 驗(yàn)證時(shí)間 |
---|---|---|---|
正常組合 | ionic2 | 1.5.3 | 3秒 |
ionic3 | 4.1.2 | 8秒 | |
測(cè)試組合 | ionic2 | 4.1.2 | 8秒 |
ionic3 | 1.5.3 | 3秒 |
- 結(jié)論:
- 該問(wèn)題80%的可能性與AngularJS的版本更換內(nèi)容有關(guān)勋又。
3苦掘、尋找具體原因
3.1 查看日志是否包含有效信息?
-
查看android studio輸出日志如下:
06-17 13:22:08.550 32233-32233/io.ionic.starter D/JsMessageQueue: Set native->JS mode to EvalBridgeMode 06-17 13:22:16.403 32233-32233/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 3303 : Angular is running in the development mode. Call enableProdMode() to enable the production mode. 06-17 13:22:16.403 32233-32233/io.ionic.starter I/chromium: [INFO:CONSOLE(3303)] "Angular is running in the development mode. Call enableProdMode() to enable the production mode.", source: file:///android_asset/www/build/main.js (3303) 06-17 13:22:16.780 32233-32233/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1223 : deviceready has not fired after 5 seconds. 06-17 13:22:16.780 32233-32233/io.ionic.starter I/chromium: [INFO:CONSOLE(1223)] "deviceready has not fired after 5 seconds.", source: file:///android_asset/www/cordova.js (1223) 06-17 13:22:16.782 32233-32233/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 101210 : Ionic Native: deviceready did not fire within 5000ms. This can happen when plugins are in an inconsistent state. Try removing plugins from plugins/ and reinstalling them. 06-17 13:22:16.782 32233-32233/io.ionic.starter I/chromium: [INFO:CONSOLE(101210)] "Ionic Native: deviceready did not fire within 5000ms. This can happen when plugins are in an inconsistent state. Try removing plugins from plugins/ and reinstalling them.", source: file:///android_asset/www/build/main.js (101210) 06-17 13:22:16.784 32233-32233/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 101205 : Ionic Native: deviceready event fired after 6079 ms 06-17 13:22:16.785 32233-32233/io.ionic.starter I/chromium: [INFO:CONSOLE(101205)] "Ionic Native: deviceready event fired after 6079 ms", source: file:///android_asset/www/build/main.js (101205) 06-17 13:22:16.791 32233-32375/io.ionic.starter I/App: WARNING: Back Button Default Behavior will be overridden. The backbutton event will be fired! 06-17 13:22:16.797 32233-32233/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 74558 : aaaaaa
-
日志關(guān)鍵詞語(yǔ):
- Angular is running in the development mode. Call enableProdMode() to enable the production mode.-->需要設(shè)置AngularJS為生產(chǎn)模式赐写。
- deviceready has not fired after 5 seconds.-->cordova的deviceready消息沒有被觸發(fā)鸟蜡,5秒超時(shí)后cordova框架自動(dòng)發(fā)出消息;
3.1.1 驗(yàn)證 設(shè)置AngularJS為生產(chǎn)模式是否是關(guān)鍵因子挺邀?
驗(yàn)證方法:
//測(cè)試方法:在main.js添加以下代碼:
import {enableProdMode} from '@angular/core';
enableProdMode();-
驗(yàn)證效果:
- 啟動(dòng)應(yīng)用仍然需要8秒揉忘;
-
結(jié)論:
- AngularJS的生產(chǎn)、開發(fā)模式不是關(guān)鍵因子端铛。
3.1.2 驗(yàn)證 deviceready 消息超時(shí)是否是關(guān)鍵因子泣矛?
-
驗(yàn)證方法:
閱讀 cordova橋JS端源碼,如果deviceready消息超時(shí)禾蚕,會(huì)打印出影響超時(shí)的模塊內(nèi)容您朽,但是查看日志,并沒有輸出對(duì)應(yīng)模塊的內(nèi)容换淆。
使用AngularJS 1.5.3 版本測(cè)試哗总,查看日志;(詳細(xì)日志見 附錄5.2)
-
驗(yàn)證效果
- AngularJS 1.5.3正常倍试,deviceready消息大約3秒左右完成讯屈。
- AngularJS 4.1.2不正常,deviceready消息總是超時(shí)(原因不明县习,可能是ionic-angularjs封裝時(shí)導(dǎo)致了 onDOMContentLoaded 存在問(wèn)題涮母,測(cè)試日志見 文檔末尾)
-
結(jié)論:
- onDOMContentLoaded 消息存在問(wèn)題,而AngularJS與onDOMContentLoaded消息有關(guān)的模塊只有 AngularJS 封裝的 platform對(duì)象躁愿;
3.1.3 驗(yàn)證 AngularJS 4.1.2 的 platform對(duì)象是否是關(guān)鍵因子叛本?
- 驗(yàn)證方法:
- 刪除 app.component.ts 文件里與platform對(duì)象相關(guān)的代碼
platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
statusBar.styleDefault();
splashScreen.hide();
});
- 驗(yàn)證效果:
- deviceready消息正常。
- 日志如下:
06-17 17:22:54.527 7893-7893/io.ionic.starter D/JsMessageQueue: Set native->JS mode to EvalBridgeMode
06-17 17:22:58.716 7893-7893/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 3303 : Angular is running in the development mode. Call enableProdMode() to enable the production mode.
06-17 17:22:58.716 7893-7893/io.ionic.starter I/chromium: [INFO:CONSOLE(3303)] "Angular is running in the development mode. Call enableProdMode() to enable the production mode.", source: file:///android_asset/www/build/main.js (3303)
06-17 17:22:58.734 7893-7902/io.ionic.starter W/art: Suspending all threads took: 15.411ms
06-17 17:22:58.899 7893-7893/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 101333 : Ionic Native: deviceready event fired after 2991 ms
06-17 17:22:58.899 7893-7893/io.ionic.starter I/chromium: [INFO:CONSOLE(101333)] "Ionic Native: deviceready event fired after 2991 ms", source: file:///android_asset/www/build/main.js (101333)
06-17 17:22:58.937 7893-8166/io.ionic.starter I/App: WARNING: Back Button Default Behavior will be overridden. The backbutton event will be fired!
- 結(jié)論
- AngularJS 4.1.2版本對(duì)platform的封裝影響了cordova橋js的加載機(jī)制彤钟。(具體原因需要進(jìn)一步研究AngularJS源碼)来候。
4 修改問(wèn)題
- 修改方法:
- 由于JS的業(yè)務(wù)邏輯需要在deviceready成功之后才能調(diào)用,所以需要手動(dòng)封裝deviceready消息样勃;
- 封裝代碼如下:
declare const window: any;
export class MyApp {
rootPage:any = TabsPage;
constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {
if(window.cordova) {
document.addEventListener("deviceready", function() {
// retrieve the DOM element that had the ng-app attribute
splashScreen.hide();
// 編寫項(xiàng)目業(yè)務(wù)代碼開始
}, false);
} else {
console.log('web 模式');
// 編寫項(xiàng)目業(yè)務(wù)代碼開始
}
// platform.ready().then(() => {
// // Okay, so the platform is ready and our plugins are available.
// // Here you can do any higher level native things you might need.
// statusBar.styleDefault();
// splashScreen.hide();
// });
}
}
- 測(cè)試結(jié)果:
- deviceready大約需要3秒準(zhǔn)備完成吠勘。android應(yīng)用啟動(dòng)大約1秒性芬,所以整個(gè)應(yīng)用啟動(dòng)到顯示出來(lái)頁(yè)面大約為3-4秒。
5 附錄
5.1 ionic2測(cè)試日志
06-17 14:20:27.728 8326-8326/? I/art: Late-enabling -Xcheck:jni
06-17 14:20:27.790 8326-8326/? D/TidaProvider: TidaProvider()
06-17 14:20:27.804 8326-8326/? V/BoostFramework: mAcquireFunc method = public int com.qualcomm.qti.Performance.perfLockAcquire(int,int[])
06-17 14:20:27.805 8326-8326/? V/BoostFramework: mReleaseFunc method = public int com.qualcomm.qti.Performance.perfLockRelease()
06-17 14:20:27.805 8326-8326/? V/BoostFramework: mAcquireTouchFunc method = public int com.qualcomm.qti.Performance.perfLockAcquireTouch(android.view.MotionEvent,android.util.DisplayMetrics,int,int[])
06-17 14:20:27.805 8326-8326/? V/BoostFramework: mIOPStart method = public int com.qualcomm.qti.Performance.perfIOPrefetchStart(int,java.lang.String)
06-17 14:20:27.805 8326-8326/? V/BoostFramework: mIOPStop method = public int com.qualcomm.qti.Performance.perfIOPrefetchStop()
06-17 14:20:27.823 8326-8326/? V/BoostFramework: BoostFramework() : mPerf = com.qualcomm.qti.Performance@8e6d76d
06-17 14:20:27.938 8326-8326/io.ionic.starter W/System: ClassLoader referenced unknown path: /data/app/io.ionic.starter-1/lib/arm64
06-17 14:20:27.997 8326-8326/io.ionic.starter I/CordovaLog: Changing log level to DEBUG(3)
06-17 14:20:27.997 8326-8326/io.ionic.starter I/CordovaActivity: Apache Cordova native platform version 6.2.3 is starting
06-17 14:20:27.997 8326-8326/io.ionic.starter D/CordovaActivity: CordovaActivity.onCreate()
06-17 14:20:28.041 8326-8326/io.ionic.starter W/System: ClassLoader referenced unknown path: /system/app/WebViewGoogle/lib/arm64
06-17 14:20:28.046 8326-8326/io.ionic.starter I/WebViewFactory: Loading com.google.android.webview version 55.0.2883.91 (code 288309150)
06-17 14:20:28.091 8326-8326/io.ionic.starter I/cr_LibraryLoader: Time to load native libraries: 3 ms (timestamps 26-29)
06-17 14:20:28.092 8326-8326/io.ionic.starter I/cr_LibraryLoader: Expected native library version number "55.0.2883.91", actual native library version number "55.0.2883.91"
06-17 14:20:28.124 8326-8326/io.ionic.starter I/cr_LibraryLoader: Expected native library version number "55.0.2883.91", actual native library version number "55.0.2883.91"
06-17 14:20:28.124 8326-8326/io.ionic.starter I/chromium: [INFO:library_loader_hooks.cc(163)] Chromium logging enabled: level = 0, default verbosity = 0
06-17 14:20:28.149 8326-8326/io.ionic.starter I/cr_BrowserStartup: Initializing chromium process, singleProcess=true
06-17 14:20:28.196 8326-8326/io.ionic.starter I/Adreno: QUALCOMM build : 065a07a, I3a33bf62a4
Build Date : 12/06/16
OpenGL ES Shader Compiler Version: XE031.09.00.03
Local Branch : mybranch23838236
Remote Branch : quic/LA.BF64.1.2.3_rb1.7
Remote Branch : NONE
Reconstruct Branch : NOTHING
06-17 14:20:28.360 8326-8326/io.ionic.starter D/EgretLoader: EgretLoader(Context context)
06-17 14:20:28.362 8326-8326/io.ionic.starter D/EgretLoader: The context is not activity
06-17 14:20:28.383 8326-8326/io.ionic.starter D/SystemWebViewEngine: CordovaWebView is running on device made by: Xiaomi
06-17 14:20:28.396 8326-8326/io.ionic.starter D/PluginManager: init()
06-17 14:20:28.407 8326-8326/io.ionic.starter D/CordovaWebViewImpl: >>> loadUrl(file:///android_asset/www/index.html)
06-17 14:20:28.426 8326-8326/io.ionic.starter I/cr_Ime: ImeThread is enabled.
06-17 14:20:28.435 8326-8372/io.ionic.starter W/cr_media: Requires BLUETOOTH permission
06-17 14:20:28.448 8326-8326/io.ionic.starter D/CordovaActivity: Started the activity.
06-17 14:20:28.469 8326-8326/io.ionic.starter D/CordovaActivity: Resumed the activity.
06-17 14:20:28.510 8326-8326/io.ionic.starter D/ActivityThreadInjector: clearCachedDrawables.
06-17 14:20:28.528 8326-8399/io.ionic.starter E/libEGL: validate_display:99 error 3008 (EGL_BAD_DISPLAY)
06-17 14:20:28.571 8326-8396/io.ionic.starter I/OpenGLRenderer: Initialized EGL, version 1.4
06-17 14:20:28.571 8326-8396/io.ionic.starter D/OpenGLRenderer: Swap behavior 1
06-17 14:20:28.580 8326-8326/io.ionic.starter E/chromium: [ERROR:interface_registry.cc(104)] Failed to locate a binder for interface: autofill::mojom::PasswordManagerDriver
06-17 14:20:28.602 8326-8399/io.ionic.starter W/VideoCapabilities: Unrecognized profile 2130706433 for video/avc
06-17 14:20:28.629 8326-8399/io.ionic.starter W/VideoCapabilities: Unrecognized profile/level 0/3 for video/mpeg2
06-17 14:20:28.633 8326-8399/io.ionic.starter W/VideoCapabilities: Unrecognized profile/level 0/3 for video/mpeg2
06-17 14:20:28.640 8326-8399/io.ionic.starter W/VideoCapabilities: Unsupported mime video/x-ms-wmv
06-17 14:20:28.644 8326-8399/io.ionic.starter W/VideoCapabilities: Unsupported mime video/x-ms-wmv
06-17 14:20:28.657 8326-8326/io.ionic.starter D/CordovaWebViewImpl: onPageDidNavigate(file:///android_asset/www/index.html)
06-17 14:20:28.675 8326-8399/io.ionic.starter W/AudioCapabilities: Unsupported mime audio/dsd
06-17 14:20:28.679 8326-8399/io.ionic.starter W/AudioCapabilities: Unsupported mime audio/dts
06-17 14:20:28.686 8326-8399/io.ionic.starter W/AudioCapabilities: Unsupported mime audio/32KADPCM
06-17 14:20:28.690 8326-8399/io.ionic.starter W/AudioCapabilities: Unsupported mime audio/x-ape
06-17 14:20:28.695 8326-8399/io.ionic.starter W/VideoCapabilities: Unsupported mime video/mp4v-esdp
06-17 14:20:28.726 8326-8399/io.ionic.starter I/VideoCapabilities: Unsupported profile 4 for video/mp4v-es
06-17 14:20:28.784 8326-8326/io.ionic.starter W/cr_BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 8326
06-17 14:20:29.656 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1280 : DOMContentLoaded 123232
06-17 14:20:29.656 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1280)] "DOMContentLoaded 123232", source: file:///android_asset/www/cordova.js (1280)
06-17 14:20:29.672 8326-8326/io.ionic.starter D/JsMessageQueue: Set native->JS mode to EvalBridgeMode
06-17 14:20:29.680 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1338 : 數(shù)組1111132323:[
{"type":"onNativeReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onPluginsReady","handlers":{},"state":1,"fireArgs":null,"numHandlers":1,"onHasSubscribersChange":null}]
06-17 14:20:29.680 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1338)] "數(shù)組1111132323:[
{"type":"onNativeReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onPluginsReady","handlers":{},"state":1,"fireArgs":null,"numHandlers":1,"onHasSubscribersChange":null}]", source: file:///android_asset/www/cordova.js (1338)
06-17 14:20:30.403 8326-8326/io.ionic.starter W/cr_BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 8326
06-17 14:20:30.419 8326-8326/io.ionic.starter D/CordovaWebViewImpl: onPageFinished(file:///android_asset/www/index.html#/tab/dash)
06-17 14:20:30.445 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1282 : DOMContentLoaded 222222
06-17 14:20:30.445 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1282)] "DOMContentLoaded 222222", source: file:///android_asset/www/cordova.js (1282)
06-17 14:20:31.251 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1305 : pluginloader.load
06-17 14:20:31.252 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1305)] "pluginloader.load", source: file:///android_asset/www/cordova.js (1305)
06-17 14:20:31.253 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1314 : 111111111111
06-17 14:20:31.253 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1314)] "111111111111", source: file:///android_asset/www/cordova.js (1314)
06-17 14:20:31.254 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1318 : 2222222
06-17 14:20:31.255 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1318)] "2222222", source: file:///android_asset/www/cordova.js (1318)
06-17 14:20:31.256 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1730 : channel.onCordovaReady.subscribe
06-17 14:20:31.256 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1730)] "channel.onCordovaReady.subscribe", source: file:///android_asset/www/cordova.js (1730)
06-17 14:20:31.274 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1322 : 22233333
06-17 14:20:31.274 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1322)] "22233333", source: file:///android_asset/www/cordova.js (1322)
06-17 14:20:31.276 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1324 : 數(shù)組:[
{"type":"onCordovaReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onDOMContentLoaded","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onCordovaInfoReady","handlers":{},"state":1,"fireArgs":null,"numHandlers":0,"onHasSubscribersChange":null}]
06-17 14:20:31.276 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1324)] "數(shù)組:[
{"type":"onCordovaReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onDOMContentLoaded","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onCordovaInfoReady","handlers":{},"state":1,"fireArgs":null,"numHandlers":0,"onHasSubscribersChange":null}]", source: file:///android_asset/www/cordova.js (1324)
06-17 14:20:31.281 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1330 : 44444444
06-17 14:20:31.281 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1330)] "44444444", source: file:///android_asset/www/cordova.js (1330)
06-17 14:20:31.284 8326-8326/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1333 : 數(shù)組1111:[
{"type":"onCordovaReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onDOMContentLoaded","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onCordovaInfoReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":1,"onHasSubscribersChange":null}]
06-17 14:20:31.285 8326-8326/io.ionic.starter I/chromium: [INFO:CONSOLE(1333)] "數(shù)組1111:[
{"type":"onCordovaReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onDOMContentLoaded","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onCordovaInfoReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":1,"onHasSubscribersChange":null}]", source: file:///android_asset/www/cordova.js (1333)
06-17 14:20:31.306 8326-8464/io.ionic.starter I/App: WARNING: Back Button Default Behavior will be overridden. The backbutton event will be fired!
5.2 ionic3測(cè)試日志
06-17 14:14:25.647 2827-2827/? I/art: Late-enabling -Xcheck:jni
06-17 14:14:25.658 2827-2827/? D/TidaProvider: TidaProvider()
06-17 14:14:25.673 2827-2827/? V/BoostFramework: mAcquireFunc method = public int com.qualcomm.qti.Performance.perfLockAcquire(int,int[])
06-17 14:14:25.674 2827-2827/? V/BoostFramework: mReleaseFunc method = public int com.qualcomm.qti.Performance.perfLockRelease()
06-17 14:14:25.674 2827-2827/? V/BoostFramework: mAcquireTouchFunc method = public int com.qualcomm.qti.Performance.perfLockAcquireTouch(android.view.MotionEvent,android.util.DisplayMetrics,int,int[])
06-17 14:14:25.674 2827-2827/? V/BoostFramework: mIOPStart method = public int com.qualcomm.qti.Performance.perfIOPrefetchStart(int,java.lang.String)
06-17 14:14:25.674 2827-2827/? V/BoostFramework: mIOPStop method = public int com.qualcomm.qti.Performance.perfIOPrefetchStop()
06-17 14:14:25.685 2827-2827/? V/BoostFramework: BoostFramework() : mPerf = com.qualcomm.qti.Performance@8e6d76d
06-17 14:14:25.742 2827-2827/io.ionic.starter W/System: ClassLoader referenced unknown path: /data/app/io.ionic.starter-2/lib/arm64
06-17 14:14:25.811 2827-2827/io.ionic.starter I/CordovaLog: Changing log level to DEBUG(3)
06-17 14:14:25.811 2827-2827/io.ionic.starter I/CordovaActivity: Apache Cordova native platform version 6.2.3 is starting
06-17 14:14:25.812 2827-2827/io.ionic.starter D/CordovaActivity: CordovaActivity.onCreate()
06-17 14:14:25.838 2827-2827/io.ionic.starter W/System: ClassLoader referenced unknown path: /system/app/WebViewGoogle/lib/arm64
06-17 14:14:25.846 2827-2827/io.ionic.starter I/WebViewFactory: Loading com.google.android.webview version 55.0.2883.91 (code 288309150)
06-17 14:14:25.890 2827-2827/io.ionic.starter I/cr_LibraryLoader: Time to load native libraries: 3 ms (timestamps 7825-7828)
06-17 14:14:25.891 2827-2827/io.ionic.starter I/cr_LibraryLoader: Expected native library version number "55.0.2883.91", actual native library version number "55.0.2883.91"
06-17 14:14:25.911 2827-2827/io.ionic.starter I/cr_LibraryLoader: Expected native library version number "55.0.2883.91", actual native library version number "55.0.2883.91"
06-17 14:14:25.912 2827-2827/io.ionic.starter I/chromium: [INFO:library_loader_hooks.cc(163)] Chromium logging enabled: level = 0, default verbosity = 0
06-17 14:14:25.924 2827-2827/io.ionic.starter I/cr_BrowserStartup: Initializing chromium process, singleProcess=true
06-17 14:14:25.948 2827-2827/io.ionic.starter I/Adreno: QUALCOMM build : 065a07a, I3a33bf62a4
Build Date : 12/06/16
OpenGL ES Shader Compiler Version: XE031.09.00.03
Local Branch : mybranch23838236
Remote Branch : quic/LA.BF64.1.2.3_rb1.7
Remote Branch : NONE
Reconstruct Branch : NOTHING
06-17 14:14:26.050 2827-2827/io.ionic.starter D/EgretLoader: EgretLoader(Context context)
06-17 14:14:26.052 2827-2827/io.ionic.starter D/EgretLoader: The context is not activity
06-17 14:14:26.069 2827-2827/io.ionic.starter D/SystemWebViewEngine: CordovaWebView is running on device made by: Xiaomi
06-17 14:14:26.080 2827-2827/io.ionic.starter D/PluginManager: init()
06-17 14:14:26.090 2827-2827/io.ionic.starter D/CordovaWebViewImpl: >>> loadUrl(file:///android_asset/www/index.html)
06-17 14:14:26.097 2827-2827/io.ionic.starter I/cr_Ime: ImeThread is enabled.
06-17 14:14:26.107 2827-2872/io.ionic.starter W/cr_media: Requires BLUETOOTH permission
06-17 14:14:26.121 2827-2827/io.ionic.starter D/CordovaActivity: Started the activity.
06-17 14:14:26.127 2827-2827/io.ionic.starter D/CordovaActivity: Resumed the activity.
06-17 14:14:26.148 2827-2827/io.ionic.starter D/ActivityThreadInjector: clearCachedDrawables.
06-17 14:14:26.152 2827-2889/io.ionic.starter E/libEGL: validate_display:99 error 3008 (EGL_BAD_DISPLAY)
06-17 14:14:26.186 2827-2888/io.ionic.starter I/OpenGLRenderer: Initialized EGL, version 1.4
06-17 14:14:26.187 2827-2888/io.ionic.starter D/OpenGLRenderer: Swap behavior 1
06-17 14:14:26.195 2827-2827/io.ionic.starter E/chromium: [ERROR:interface_registry.cc(104)] Failed to locate a binder for interface: autofill::mojom::PasswordManagerDriver
06-17 14:14:26.202 2827-2889/io.ionic.starter W/VideoCapabilities: Unrecognized profile 2130706433 for video/avc
06-17 14:14:26.219 2827-2827/io.ionic.starter D/CordovaWebViewImpl: onPageDidNavigate(file:///android_asset/www/index.html)
06-17 14:14:26.230 2827-2889/io.ionic.starter W/VideoCapabilities: Unrecognized profile/level 0/3 for video/mpeg2
06-17 14:14:26.237 2827-2889/io.ionic.starter W/VideoCapabilities: Unrecognized profile/level 0/3 for video/mpeg2
06-17 14:14:26.247 2827-2889/io.ionic.starter W/VideoCapabilities: Unsupported mime video/x-ms-wmv
06-17 14:14:26.251 2827-2889/io.ionic.starter W/VideoCapabilities: Unsupported mime video/x-ms-wmv
06-17 14:14:26.265 2827-2889/io.ionic.starter W/AudioCapabilities: Unsupported mime audio/dsd
06-17 14:14:26.270 2827-2889/io.ionic.starter W/AudioCapabilities: Unsupported mime audio/dts
06-17 14:14:26.272 2827-2889/io.ionic.starter W/AudioCapabilities: Unsupported mime audio/32KADPCM
06-17 14:14:26.273 2827-2889/io.ionic.starter W/AudioCapabilities: Unsupported mime audio/x-ape
06-17 14:14:26.277 2827-2889/io.ionic.starter W/VideoCapabilities: Unsupported mime video/mp4v-esdp
06-17 14:14:26.307 2827-2889/io.ionic.starter I/VideoCapabilities: Unsupported profile 4 for video/mp4v-es
06-17 14:14:26.352 2827-2827/io.ionic.starter W/cr_BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 2827
06-17 14:14:26.461 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1280 : DOMContentLoaded 123232
06-17 14:14:26.461 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1280)] "DOMContentLoaded 123232", source: file:///android_asset/www/cordova.js (1280)
06-17 14:14:26.481 2827-2827/io.ionic.starter D/JsMessageQueue: Set native->JS mode to EvalBridgeMode
06-17 14:14:26.491 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1338 : 數(shù)組1111132323:[
{"type":"onNativeReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onPluginsReady","handlers":{},"state":1,"fireArgs":null,"numHandlers":1,"onHasSubscribersChange":null}]
06-17 14:14:26.491 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1338)] "數(shù)組1111132323:[
{"type":"onNativeReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onPluginsReady","handlers":{},"state":1,"fireArgs":null,"numHandlers":1,"onHasSubscribersChange":null}]",
source: file:///android_asset/www/cordova.js (1338)
06-17 14:14:27.256 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1305 : pluginloader.load
06-17 14:14:27.256 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1305)] "pluginloader.load", source: file:///android_asset/www/cordova.js (1305)
06-17 14:14:27.257 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1314 : 111111111111
06-17 14:14:27.257 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1314)] "111111111111", source: file:///android_asset/www/cordova.js (1314)
06-17 14:14:27.271 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1318 : 2222222
06-17 14:14:27.271 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1318)] "2222222", source: file:///android_asset/www/cordova.js (1318)
06-17 14:14:27.271 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1730 : channel.onCordovaReady.subscribe
06-17 14:14:27.272 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1730)] "channel.onCordovaReady.subscribe", source: file:///android_asset/www/cordova.js (1730)
06-17 14:14:27.296 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1322 : 22233333
06-17 14:14:27.296 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1322)] "22233333", source: file:///android_asset/www/cordova.js (1322)
06-17 14:14:27.298 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1324 : 數(shù)組:[
{"type":"onCordovaReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onDOMContentLoaded","handlers":{},"state":1,"fireArgs":null,"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onCordovaInfoReady","handlers":{},"state":1,"fireArgs":null,"numHandlers":0,"onHasSubscribersChange":null}]
06-17 14:14:27.298 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1324)] "數(shù)組:[
{"type":"onCordovaReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onDOMContentLoaded","handlers":{},"state":1,"fireArgs":null,"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onCordovaInfoReady","handlers":{},"state":1,"fireArgs":null,"numHandlers":0,"onHasSubscribersChange":null}]", source: file:///android_asset/www/cordova.js (1324)
06-17 14:14:34.293 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 3303 : Angular is running in the development mode. Call enableProdMode() to enable the production mode.
06-17 14:14:34.293 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(3303)] "Angular is running in the development mode. Call enableProdMode() to enable the production mode.", source: file:///android_asset/www/build/main.js (3303)
06-17 14:14:34.566 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1282 : DOMContentLoaded 222222
06-17 14:14:34.567 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1282)] "DOMContentLoaded 222222", source: file:///android_asset/www/cordova.js (1282)
06-17 14:14:34.567 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1330 : 44444444
06-17 14:14:34.568 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1330)] "44444444", source: file:///android_asset/www/cordova.js (1330)
06-17 14:14:34.568 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1333 : 數(shù)組1111:[
{"type":"onCordovaReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onDOMContentLoaded","handlers":{},"state":2,"fireArgs":[],"numHandlers":1,"onHasSubscribersChange":null},
{"type":"onCordovaInfoReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null}]
06-17 14:14:34.568 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1333)] "數(shù)組1111:[
{"type":"onCordovaReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null},
{"type":"onDOMContentLoaded","handlers":{},"state":2,"fireArgs":[],"numHandlers":1,"onHasSubscribersChange":null},
{"type":"onCordovaInfoReady","handlers":{},"state":2,"fireArgs":[],"numHandlers":0,"onHasSubscribersChange":null}]", source: file:///android_asset/www/cordova.js (1333)
06-17 14:14:34.674 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/cordova.js: Line 1223 : deviceready has not fired after 5 seconds.
06-17 14:14:34.675 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(1223)] "deviceready has not fired after 5 seconds.", source: file:///android_asset/www/cordova.js (1223)
06-17 14:14:34.676 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 101210 : Ionic Native: deviceready did not fire within 5000ms. This can happen when plugins are in an inconsistent state. Try removing plugins from plugins/ and reinstalling them.
06-17 14:14:34.676 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(101210)] "Ionic Native: deviceready did not fire within 5000ms. This can happen when plugins are in an inconsistent state. Try removing plugins from plugins/ and reinstalling them.", source: file:///android_asset/www/build/main.js (101210)
06-17 14:14:34.676 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 101205 : Ionic Native: deviceready event fired after 6041 ms
06-17 14:14:34.677 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(101205)] "Ionic Native: deviceready event fired after 6041 ms", source: file:///android_asset/www/build/main.js (101205)
06-17 14:14:34.685 2827-2915/io.ionic.starter I/App: WARNING: Back Button Default Behavior will be overridden. The backbutton event will be fired!
06-17 14:14:34.689 2827-2827/io.ionic.starter D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 74558 : aaaaaa
06-17 14:14:34.689 2827-2827/io.ionic.starter I/chromium: [INFO:CONSOLE(74558)] "aaaaaa", source: file:///android_asset/www/build/main.js (74558)
06-17 14:14:34.755 2827-2827/io.ionic.starter D/CordovaWebViewImpl: onPageFinished(file:///android_asset/www/index.html)