电容器 Android 管道建设但不再工作

Capacitor Android pipeline building but no longer working

我通过 Capacitor 为 Android 和 iOS 发布了一个可用的 React 应用程序。但是现在有了我的应用程序的新版本,构建无法与我之前使用的 Pixel 4 API 29 虚拟设备一起使用。重试 Pixel 2 API 28 构建完成并打开应用程序,但现在 Mapbox 不再加载,这是我应用程序的核心。我更新到 Android Studio 4.2.1 并在我的 package.json 中具有以下作为开发依赖项:

“@capacitor/android”: “^3.0.2”,
“@capacitor/cli”: “^3.0.2”,
“@capacitor/core”: “^3.0.2”,
“capacitor-resources”: “^2.0.5”,
“cordova-res”: “^0.15.3”

我的应用程序的小元素正在访问网络,因此这似乎不是互联网访问问题。我在这个版本中所做的主要更改是升级到 Mapbox 2.3.0 并基本使用 cookie 进行用户设置,但不用于广告跟踪。但是我已经恢复了这两个更改并且问题仍然存在所以它似乎不是因为新的 Mapbox 版本或者因为引入了 cookie。

出现这样的错误,其中应用程序名称的最后一个字母由于某种原因丢失:

E/o.ionic.ecorat: Invalid ID 0x00000000.
Invalid ID 0x00000000.
E/o.ionic.ecorat: Invalid ID 0x00000000.

还有这样的错误:

E/cr_VariationsUtils: Failed reading seed file “/data/user/0/io.ionic.ecorate/app_webview/variations_seed”: /data/user/0/io.ionic.ecorate/app_webview/variations_seed (No such file or directory)

这样的错误是否意味着该应用未检测到它适用于产品?

E/Capacitor/Console: File: http://localhost/static/js/2.9b5092bb.chunk.js - Line 2 - Msg: Error: Failed to initialize WebGL
E/Capacitor/Console: File: http://localhost/static/js/2.9b5092bb.chunk.js - Line 2 - Msg: Uncaught (in promise) Error: Failed to initialize WebGL.

我使用这样开头的三元运算符:

const url = process.env.NODE_ENV === ‘production’ ?

决定是去真实网站还是使用localhost。

我应该回到更稳定的电容器版本吗?

我可以建议 3 个对我有用的东西..

  1. 检查开发工具并检查模拟器。如果您看到类似这样的错误
Failed to load resource: net::ERR_CONTENT_LENGTH_MISMATCH

然后您可以使用 npx capacitor run 应该可以解决问题,不过这是一个快速修复。

  1. 替换您的开发流程并开始使用 npx 而不是 ionic XXXX 命令。

  2. 如果您希望在这种情况下更新 deps 和 dev-deps,根据您在问题中分享的 package.json,您缺少一些插件。 如果您要使用 ionic start 创建一个新的离子应用程序,那么 package.json 将看起来像这样 [忽略 vue deps]

 "dependencies": {
    "@capacitor/android": "3.0.2",
    "@capacitor/app": "1.0.2",
    "@capacitor/core": "3.0.2",
    "@capacitor/haptics": "1.0.2",
    "@capacitor/keyboard": "1.0.2",
    "@capacitor/status-bar": "1.0.2",
    "@ionic/vue": "^5.4.0",
    "@ionic/vue-router": "^5.4.0",
    "core-js": "^3.6.5",
    "vue": "^3.0.0-0",
    "vue-router": "^4.0.0-0"
  }

因此,除了 @capacitor/android@capacitor/core 之外,您还需要手动安装软件包手动安装。

之后,您需要使用 ionic build 进行构建,然后使用 ionic open 打开 IDE 并将项目与 Gradle 同步用于 android 应用程序.完成此操作后,您可以使用 ionic capacitor run --livereload --external 打开模拟器和带有实时重载的开发服务器..