Ionic 2 - Android发布版本在启动屏幕后停留在白屏上
问题描述:
几个星期前,我发布了一个关于此的问题,但没有得到任何回应。所以我再次发布一个更清晰的问题/问题。Ionic 2 - Android发布版本在启动屏幕后停留在白屏上
我的问题:
1)我运行:
$ ionic cordova build android --release --prod
2)然后我签字。
3.)然后我上传到谷歌播放。
4.)然后我从谷歌播放下载它,应用程序点击启动画面,然后在初始屏幕在较低版本的Android(到目前为止6.0.0版本以下)关闭后卡在白色屏幕上。
要验证它是我的应用程序是问题,我使用“超级”模板通过离子cli创建了一个新应用程序。然后我建立,签署并上传完全相同的方式。我从谷歌播放下载它,它的工作。我将它制作成了应用程序,包括6.0.0以下的版本。
所以,我的问题是
我怎么看是什么原因造成的问题,如果它只是在释放/生产建设情况?
有没有方法可以调试?
有没有已知的功能(管道,面具,模块等),角度/离子的使用不适用于老版本的Android的旧版本的浏览器中可能会导致这种情况吗?
项目信息:
@ionic/cli-plugin-cordova : 1.6.1
@ionic/cli-plugin-ionic-angular : 1.4.1
@ionic/cli-utils : 1.7.0
ionic (Ionic CLI) : 3.7.0
全球套餐:
Cordova CLI : 7.0.1
本地套餐:
@ionic/app-scripts : 2.1.3
Cordova Platforms : android 6.2.3 ios 4.4.0
Ionic Framework : ionic-angular 3.6.0
系统:
Node : v6.11.0
OS : macOS Sierra
Xcode : Xcode 8.3.3 Build version 8E3004b
ios-deploy : 1.9.1
npm : 3.10.10
配置文件:
<preference name="android-minSdkVersion" value="16" /> // This is the same as the default value generated by ionic-cli
// I use the hide() function in platform.ready() of my app.component to hide the splash screen. Did the same in the test generated app. Shouldnt be the issue.
<preference name="SplashMaintainAspectRatio" value="true" />
<preference name="FadeSplashScreenDuration" value="500" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="AutoHideSplashScreen" value="false" />
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="30000" /> // Arbitrary time. platform.ready() should be called way before this.
<preference name="loadUrlTimeoutValue" value="700000" /> // Added this because it was recommended for larger app sizes..?
我的插件(我看到别人造成了由模块导入类似的问题..?):
<plugin name="cordova-plugin-console" spec="^1.0.5" />
<plugin name="cordova-plugin-contacts" spec="^2.3.1" />
<plugin name="cordova-plugin-device" spec="^1.1.4" />
<plugin name="cordova-plugin-fingerprint-aio" spec="^1.2.1" />
<plugin name="cordova-plugin-geolocation" spec="^2.4.3">
<variable name="GEOLOCATION_USAGE_DESCRIPTION" value=" " />
</plugin>
<plugin name="cordova-plugin-googlemaps" spec="^1.4.3">
<variable name="API_KEY_FOR_ANDROID" value="AIzaSyBbYqJI-CZfV8_Zmj3laEGMbHsQenYo3V4" />
<variable name="API_KEY_FOR_IOS" value="AIzaSyBbYqJI-CZfV8_Zmj3laEGMbHsQenYo3V4" />
<variable name="NSLOCATIONWHENINUSEUSAGEDESCRIPTION" value="Show your location on the map" />
<variable name="NSLOCATIONALWAYSUSAGEDESCRIPTION" value="Trace your location on the map" />
</plugin>
<plugin name="cordova-plugin-http" spec="^1.2.0" />
<plugin name="cordova-plugin-inappbrowser" spec="^1.7.1" />
<plugin name="cordova-plugin-nativegeocoder" spec="^1.0.2" />
<plugin name="cordova-plugin-nativestorage" spec="^2.2.2" />
<plugin name="cordova-plugin-screen-orientation" spec="^1.4.3" />
<plugin name="cordova-plugin-secure-storage" spec="^2.6.8" />
<plugin name="cordova-plugin-splashscreen" spec="^4.0.3" />
<plugin name="cordova-plugin-statusbar" spec="^2.2.2" />
<plugin name="cordova-plugin-whitelist" spec="^1.3.1" />
<plugin name="cordova-sqlite-storage" spec="^2.0.4" />
<plugin name="ionic-plugin-deploy" spec="^0.6.7" />
<plugin name="ionic-plugin-keyboard" spec="^2.2.1" />
<plugin name="uk.co.workingedge.phonegap.plugin.launchnavigator" spec="^3.2.2" />
答
我最终删除Android和iOS平台,重新安装它们,并再次安装crosswalk。不是100%确定它是否是人行横道,修复它可能是我做了一些小的代码更改。
一般来说,当加载屏幕是无限的,这是你的代码问题。
你是否尝试过使用本地apk版本的发布模式而无需通过谷歌播放?你检查了Android日志(adb logcat)吗? – QuickFix
你有没有找到解决方案..我在生产生成/运行有同样的问题 – Yasir
我不会称之为一个解决方案,但我安装了Crosswalk插件,它的工作。唯一的缺点是,我注意到它增加了约30mb的包装尺寸... https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview – Everett