通过 VPN 在 Android 上创建 WebAPK 失败

2024-03-04

我的公司 VPN 阻止来自 Android 设备的所有外部流量。我正在尝试测试内部托管的 PWA(防火墙内的所有资源)。我观察到,尽管通过了 Lighthouse 审核,但我的 PWA 在设备上的 WebAPK 创建过程中失败了。具体来说,安装过程需要很长时间,最终会降级为应用程序快捷方式安装。

我做了什么:

  1. 构建了我能想到的最简单的 PWA(index.html 注册服务工作者 + sw.js 甚至可以离线处理 index.html 请求 + Web 清单)并将其托管在内部服务器上
  2. 在桌面上运行 Lighthouse 审核并确保其通过所有 PWA Lighthouse 审核
  3. 在清单上运行 bubblewrap init 来仔细检查图标/名称是否正确
  4. 尝试通过防火墙后面的 Chrome 点点菜单在 Pixel 手机上安装 PWA
  5. 过了很长一段时间,应用程序快捷方式安装完毕(带有Chrome覆盖图标)
  6. 在我的手机上检查了 chrome://webapks/ - 没有惊喜,我没有找到适合我的应用程序的 WebAPK
  7. 打开我的公司 VPN 解决方法,它允许我绕过 VPN 限制并访问外部地址(root 电话 + ProxyDroid 黑客攻击)
  8. 现在 WebAPK 创建工作正常了

问题一:

有人可以解释一下 WebAPK 创建过程中涉及到哪些内容会导致它在严格的公司防火墙后面失败吗?这里是否涉及任何外部资源(也许是服务?),我可以将我的公司 VPN 列入白名单?如果没有,任何有关如何自动测试 WebAPK 创建的建议将不胜感激。我想过使用 bubblewrap 构建,但是,由于它是针对 TWA 的,所以我没想到它会通过我的简单 PWA。

问题2:

一般来说,诊断通过 Lighthouse 审核的 PWA 的 WebAPK 创建失败的最佳技术是什么?


WebAPK 由 Chrome 在服务器端生成。 Chrome 将清单中的详细信息以及图标发送到其服务器,然后服务器返回 WebAPK。正如您所指出的,您的公司防火墙很可能阻止了对服务器的请求,从而阻止 Chrome 生成 WebAPK。

Chrome中生成WebAPK的代码可以找到here https://chromium.googlesource.com/chromium/src/+/master/chrome/android/webapk/

对于你的第二个问题,我们确实没有好的调试工具,如果 Lighthouse 通过,它应该构建 WebAPK(除了上面提到的例外)。我怀疑您可以将设备连接到计算机并使用 ADB 查看日志,但这......丑陋。对不起。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 VPN 在 Android 上创建 WebAPK 失败 的相关文章

  • 阻止 PWA 在桌面上安装 chrome 76 提示?

    如果满足 PWA 标准 Chrome 76 在多功能框中引入了一个 安装应用程序 按钮 有没有办法阻止此按钮出现在 chrome 桌面的多功能框中 假设您想阻止默认设置以显示自定义安装横幅 在这里读 https love2dev com b
  • Ionic PWA 从 config.xml 获取版本号

    我想在 Ionic PWA 中显示 config xml 中的版本号 使用 ionic 本机应用程序版本插件可以轻松完成 ios android 构建 但是 PWA 构建的好方法是什么 npm run build release prod
  • 如何使用独立浏览器分离 PWA 会话和 cookie? (PWA 作为私人选项卡)

    我正在将 PWA 与企业应用程序服务器结合使用 应用程序服务器为独立浏览器提供响应式 Web 视图 并借助首次在 PWA 启动 url 上设置的 PWA cookie 自定义 PWA 上的视图 问题在于 PWA 和独立浏览器 例如 Andr
  • ServiceWorker更新后如何刷新页面?

    我查阅了很多有关 Service Workers 的资源 更新您的 ServiceWorker https jakearchibald com 2014 using serviceworker today updating your ser
  • 重新加载页面后 Service Worker 显示为已删除

    我正在使用 React 并尝试实现服务工作人员 我编写了一个用于推送通知的迷你服务工作人员文件 当用户单击按钮时正在注册服务工作人员 现在如果我发送推送消息 它会按预期工作 但是当我重新加载时页面中 虽然注册成功 但应用程序中的Servic
  • IOS PWA 中默认在 webview 中打开外部链接

    我正在 IOS 11 3 中测试渐进式 Web 应用程序 我的 pwa 有一个 Facebook 社交登录按钮 单击该按钮会指向外部链接 不同的 windows location 问题是 PWA 打开 Safari 应用程序来显示外部链接
  • 在移动设备上,执行其他操作几分钟后,localStorage 就会被删除

    仅当我在 iPhone 5S iOS 12 5 2 和 LG Android 手机上运行渐进式 React Web 应用程序时 才会出现此问题 它通过 Mobile Chrome 和 Mobile Safari 来实现此目的 我的 Macb
  • 我们可以在 PWA 应用程序中使用 SQLite 数据库吗

    我正在创建渐进式网络应用程序应用程序 我想将用户信息存储在本地设备中 那么 我该如何做到这一点 如何存储用户登录信息 以便他不必一次又一次登录 浏览器没有 SQLite 您可以使用更接近的方法索引数据库 https caniuse com
  • NgRx 和 localStorage 的组合

    我对 NGRX 和状态管理的概念有点陌生 因为我来自后端开发 每当我看到和听到状态管理这个术语时 我脑海中浮现的就是 CQRS 嗯 互联网上的一些文章说它是以此为模式的 我的问题是 在我的角度应用程序中 我可以做类似的事情 从后端获取数据然
  • 在用户离开选项卡或关闭屏幕后,如何检测浏览器何时限制计时器和 websocket 断开连接? (javascript)

    Context 一款作为渐进式网络应用程序发布的游戏 具有计时器 setTimeout setInterval 和 websocket 连接以获得实时通信 怎么了 只要用户留在应用程序中 一切都很好 但是 当用户转到另一个选项卡 另一个应用
  • Angular 6 @angular/pwa - sw 未成功提供清单 start_url

    我使用 Angular 6 和 Angular pwa 包构建了一个 PWA 我一直在尝试解决此问题 但无论我做什么 我都会收到 start url 错误 我努力了 使用绝对链接 确保 start url 在 SW 的范围内 sw 在主文件
  • WKWebview iOS(swift):应用程序关闭后保持会话连接

    我想使用简单的方法在 iOS 上通过 PWA 制作一个应用程序WKWebView 我已经成功地以简单的方式实现了它ViewController并且工作正常 Problem 当我登录然后退出应用程序时 会话丢失 我必须再次登录 Questio
  • 向请求添加新标头,同时保留正文

    我正在为我的公司建立一个内部使用的 PWA 我应该使用什么方法将不记名令牌附加到来自 dom 或 web worker 的所有请求 我在发布时使用的这种方法可以按预期工作form or json但我想要一种更干净或更友好的方法 因为我不相信
  • 如何将 Angular 应用程序部署到 Heroku 并保持为 PWA? [复制]

    这个问题在这里已经有答案了 总结一下问题 我正在尝试将我的 Angular 6 应用程序部署到 Heroku 并保留渐进式 Web 应用程序功能 Heroku 上的最终构建没有 Service Worker 背景 我已经在 Angular
  • HammerJS 滑动不适用于具有溢出 css 属性的元素

    EDIT 该片段在嵌入问题时工作正常 但在编辑时则不然 这让我意识到这与可以滚动的底层容器有关 我在手机上测试了这一点 锤子在没有滚动条的小区域上工作得很好overflow财产 我更新了代码片段以反映这一点 问题是 如何让它在需要垂直滚动的
  • 收到无效的 JSON 负载。未知名称 click_action

    所以我目前正在开发一个 PWA 我现在正在与推送通知我已经能够使用以下非常简单的 JSON 结构接收后台和前台通知 message token aValidToken notification title New Content body
  • Chrome DevTools 中缺少“添加到主屏幕”链接

    使用 Google 服务可能会令人沮丧 他们有令人难以置信的文档 但文档总是假设一切正常 如果有什么东西不像广告上说的那样有效 那你就完全靠自己了 没有错误消息 没有解决问题的帮助 甚至没有承认某些事情可能不起作用 以防万一 添加到主屏幕
  • 什么是 iOS 的渐进式 Web 应用程序解决方案 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想知道 iOS 设备的渐进式 Web 应用程序的解决方案是什么 因为他们的默认浏览器 SAFARI 尚不支持渐进式 Web 应用程序
  • 如何将基于Reactjs的PWA更新到新版本?

    我正在开发一个基于reactjs 的应用程序 我也做了service worker对其进行设置 后add to home screen 应用程序从不检查服务器是否有新更新 我也尝试过 window location reload true
  • 如何使用谷歌应用程序脚本开发渐进式网络应用程序

    我使用 google app 脚本开发了一些应用程序 并将它们部署为 Web 应用程序 它们都工作正常 然后我决定将它们转换为 PWA 原因是让它们可以安装在智能手机用户的主屏幕上 能够使用推送通知 缓存等 简而言之 PWA 提供的所有优势

随机推荐

  • 使用 jquery 和 cookie 切换和保留状态

    我有 2 个用 jquery 切换的 div 我希望它们在页面重新加载时具有相同的状态 因此使用 coockie 但无论如何它都会卡在其中一个 div 上 那是因为我似乎无法设置正确的 coockie 怎么了
  • 重命名 Rails 4 应用程序

    我创建了一个 Rails 4 应用程序 但名称已更改 我已经更新了文件夹名称 但我想知道我需要进入并更新哪些文件才能在整个站点中使用这个新名称 或者是否有 Rails 命令可以快速轻松地完成此操作 https github com mors
  • CSS 转换被 JavaScript 阻止

    我正在尝试在veryJavaScript 的密集期 其中构建并填充了一些相当重的 3d 数组 该加载栏需要保持为空 直到用户单击按钮 发生结冰现象是否我在用着 webkit transition 这个应用程序可以是 chrome 独有的 在
  • 关于 requireEnd Matcher 方法的澄清

    直接来自this http docs oracle com javase 7 docs api java util regex Matcher html requireEnd 28 29java API 公共布尔 requireEnd 如果
  • 如何合并字体?

    我有很多字体 OpenSans bold ttf OpenSans boldItalic ttf OpenSans extrabold ttf OpenSans italic ttf OpenSans light ttf 我将如何继续只创建
  • 在RecyclerView顶部设置进度条并在数据加载后删除

    我想要一个加载图标 显示在 RecyclerView 所在位置的顶部 并在数据加载完成后消失 它看起来像 谁能帮我吗 我的代码显示 RecyclerView 上方有一个 TextView 上面写着 正在加载 并在数据加载后消失 但 Recy
  • 在 cURL PHP 中发送请求时出现 401 未经授权的响应

    我正在尝试使用 GitLab API 解决我的 gitlab 项目问题 我已经尝试过 但它似乎不起作用
  • ms Access 从查询中的文件导入表

    有没有办法让 msAccess DB 查询从文件导入表 是的 只要数据被组织起来 您可以将 VBA 或宏与 TransferText 一起使用 也可以使用菜单或功能区中的 获取外部数据 这将指导您完成这些步骤 EDIT 您可以从 CSV 导
  • NSString 到 NSArray

    我想分割一个NSString进入一个NSArray 例如 给定 NSString myString ABCDEF 我想要一个NSArray like NSArray myArray A B C D E F 如何使用 Objective C
  • GWT为移动设备定制CellList多选模型

    我有一个使用 MultiSelectionModel 的应用程序 它工作得很好 但我需要我正在开发的网站才能在移动设备上工作 所以我无法使用键盘来帮助选择元素 因为它不支持 不存在 例如 在桌面上 我只需按住 ctrl 并单击我想要选择的所
  • SQLAlchemy 提交 pickle 类型

    我在 sqlalchemy 中提交对 pickle 类型 列表 的更改时遇到问题 提交后它将表现得好像什么也没发生一样 这是我尝试提交的功能 def commit move game id player move game game que
  • 管理包:PyCharm vs conda vs pip

    我是 Python 新手 最近在 Windows 10 上安装了 PyCharm 2016 3 我还使用 Anaconda 3 我对包管理不太了解 想更好地了解它 通常我只是使用conda update all但我注意到 通过检查本地 Py
  • Html画布1600x1200屏幕撕裂

    我见过几个关于这个问题的问题 但它们都已经存在了三年多了 通常最后都会说还没有太多解决办法 所以我想知道是否有什么改变 我目前正在开发一款游戏 该游戏使用每秒发生 60 次的间隔在画布上进行绘制 它在我的 iPhone 和 PC 上运行得很
  • Pandas - 保持至少有两个不同代码的组

    我正在使用具有以下结构的 DataFrame import pandas as pd df pd DataFrame group 1 1 1 2 2 2 2 3 3 3 4 4 brand A B X A B C X B C X A B c
  • Symfony2 Crawler - 将 UTF-8 与 XPATH 结合使用

    我正在使用 Symfony2 Crawler Bundle 来使用 XPath 除了编码之外 一切正常 我想使用 UTF 8 编码 但 Crawler 不知何故没有使用它 我注意到因为 nbsp 被转换为 nbsp 这是一个已知问题 UTF
  • 尝试为银行应用程序调用名为 addAccount 的方法,但它一直给出 .class is Expected 错误

    当我尝试调用时 这给了我错误addAccount方法说 class 应该出现在我尝试调用它的行上 我正在尝试做一项作业 我应该创建一个名为的方法addAccount接受两个参数 accountName and accountBalance并
  • 如何在 Microsoft Word 字段中显示下个月?

    我需要在 Word 2003 文档中显示当前月份之后的月份名称 显示当前月份相当容易 DATE MMMM 在撰写本文时 显示 九月 我想要展示的是十月 而我一生都无法弄清楚需要做什么 我一直在尝试遵循以下建议添加余额 http addbal
  • 为什么静态方法不被视为良好的面向对象实践? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在阅读斯卡拉编程 https rads stackoverflow com amzn click com 193435631X 在第 4 章
  • 在 7.3/9/2+ Swift 中,当设备旋转时如何禁用旋转动画?

    这个问题严格来说是关于iOS9 的 假设您有一个普通的现代应用程序 自动布局 故事板 通用 它允许所有四个旋转位置 您希望它以正常方式自动旋转 因此当用户将设备从横向旋转为纵向时 它将更改为新的基于约束的布局 但您只是希望在用户旋转设备期间
  • 通过 VPN 在 Android 上创建 WebAPK 失败

    我的公司 VPN 阻止来自 Android 设备的所有外部流量 我正在尝试测试内部托管的 PWA 防火墙内的所有资源 我观察到 尽管通过了 Lighthouse 审核 但我的 PWA 在设备上的 WebAPK 创建过程中失败了 具体来说 安