Android Hybrid 应用在使用密钥库登录后无法正常工作



我在应用程序上使用ionic3。用于开发的调试版本工作正常。但是,使用密钥库签名后,应用程序无法正常工作。这在 android 操作系统版本>9 中也发生在生产中(正如我们现在通过初步分析发现的那样(。

我们无法在此处检查错误,因为构建已签名。 :(

软件规格为

cordova 9.0.0
ionic 3
Android platform 8.0.0
Node 10.15.3
Angular 4
**plugin list:**
cordova-plugin-camera 4.0.3 "Camera"
cordova-plugin-compat 1.2.0 "Compat"
cordova-plugin-device 2.0.2 "Device"
cordova-plugin-firebase-lib 3.3.0 "Google Firebase Plugin"
cordova-plugin-geolocation 2.4.3 "Geolocation"
cordova-plugin-inappbrowser 3.0.0 "InAppBrowser"
cordova-plugin-insomnia 4.3.0 "Insomnia (prevent screen sleep)"
cordova-plugin-ionic-keyboard 2.1.2 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 1.1.19 "cordova-plugin-ionic-webview"
cordova-plugin-market 1.2.0 "Market"
cordova-plugin-network-information 2.0.1 "Network Information"
cordova-plugin-screen-orientation 3.0.1 "Screen Orientation"
cordova-plugin-splashscreen 5.0.2 "Splashscreen"
cordova-plugin-statusbar 2.4.2 "StatusBar"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova.plugins.diagnostic 4.0.8 "Diagnostic"
es6-promise-plugin 4.2.2 "Promise"
info.protonet.imageresizer 0.1.1 "Image Resizer"

如果需要,请提出更改建议。即使在生产版本中,我们也没有发布新版本。旧版本遇到此问题

如果它在调试模式下工作,但在使用 KeyStore 签名后不工作(发布模式(,请检查您是否正在使用 minify 或 proguard 或其他一些方法或插件来混淆您的代码。如果你这样做,那么你必须浏览你使用过的每个外部库,找到他们的保护规则并将它们添加到你的应用程序中。

如果您使用任何插件进行 JSON 与类的映射,那么您必须避免此类进行混淆。

或者,您可以禁用代码模糊处理,但不建议这样做。

我们找到了解决方案。将webview插件更新到最新版本后解决了应用程序卡住的问题。但是,仍然无法找出它的根本原因。

最后,我们发现的根本原因是服务网关的证书已更新,并且中间证书(信任锚(导致了问题。 我们已经从Android平台手动信任它 https://developer.android.com/training/articles/security-config#CleartextTrafficPermitted 并且它现在功能齐全。

感谢大家的支持:)

最新更新