【问题标题】:Using PWA source as hybrid app - Android使用 PWA 源作为混合应用程序 - Android
【发布时间】:2018-03-06 06:59:40
【问题描述】:

我们已经使用 Ionic 2 成功完成了 PWA,现在我想将相同的源转换为 Andorid Lite 版本(混合应用)以在 Appstore 中发布。

我将android平台添加为

cordova平台添加android

在我的 config.xml android 平台版本是

AndroidManifest.xml 最小和最大 sdk 版本为 android:minSdkVersion="16" android:targetSdkVersion="23"

在我的安卓设备(Mashmallow 版本)上运行我的应用程序

ionic cordova run android --device

使用我的 Android Studio,我发现日志为

预期的原生库版本号“60.0.3112.116”,实际原生

库版本号“60.0.3112.116”/chromium: [INFO:CONSOLE(26)] “服务工作者错误:”,来源: 文件:///android_asset/www/index.html (26)

我无法加载我的应用程序,并且 index.html 一直在加载,但屏幕上什么也看不到。同样从 caniuse.com 我了解到 service worker 仅在 chrome 版本 61 中支持 android。

谁能帮帮我!

问候, 马诺

【问题讨论】:

    标签: cordova ionic-framework


    【解决方案1】:

    混合应用不支持 Service Worker,因为您的网页是通过 file:// 协议提供的,而 Service-Worker 只能使用 https:// 协议工作。见here:

    出于安全原因,Service Worker 仅通过 HTTPS 运行。有 修改后的网络请求对中间人攻击开放 真的很糟糕。

    【讨论】:

    • 不,不幸的是,据我所知。几个月前,我自己对此主题进行了一些挖掘,但没有找到可接受的解决方案。
    【解决方案2】:

    你不应该在混合应用中需要服务工作者,因为服务工作者提供的所有服务都可以在应用程序上完成。 Service Worker 特定于 PWA,如果构建原生/混合应用程序,则应将其删除/隐藏。 我建议您阅读 Using Ionic/Cordova app sources as PWA 以了解如何将 pwa Ionic 实现转换为原生应用,反之亦然。

    【讨论】:

      【解决方案3】:

      如果您只是希望能够在 Play 商店中找到,您可以使用 webview 包装您的应用,然后在启动时加载您的 PWA 的 HTTPS URL。这应该“解决”问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-12-20
        • 2019-01-14
        • 2018-07-22
        • 1970-01-01
        • 2020-09-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多