Cordova 应用程序:Android 是不是支持 webassembly?
Posted
技术标签:
【中文标题】Cordova 应用程序:Android 是不是支持 webassembly?【英文标题】:Cordova application: does webassembly supported on Android?Cordova 应用程序:Android 是否支持 webassembly? 【发布时间】:2018-06-26 00:07:21 【问题描述】:我正在使用 Cordova + Webassembly 开发一个应用程序。
客户需要该应用在 Windows 和 android 上运行。 我正在使用 Visual Studio 2017 + TACO。
WebAssembly 是使用 emscripten 从 C/C++ 代码生成的,在 Edge 和 Chrome 上运行良好。它也适用于 Android 设备 (Chrome)
在 Windows 上运行的 Cordova 应用运行良好。
现在我的问题是在 Android 上。 Android 上的 Cordova 应用会记录此错误:
Fetch API cannot load file:///android_asset/www/script/myApp.wasm. URL scheme "file" is not supported.
如果 Cordova 在 Android 上支持 WebAssembly,我找不到任何地方。我的理解是 Android 正在使用 WebView 组件并且应该依赖 Google Chrome(我的 Webassembly 在 Android 上的 Chrome 上运行良好)。 有没有一个选项可以在 android 上为 cordova 添加 mime 类型?
提前感谢您的帮助。
【问题讨论】:
【参考方案1】:还有另一个选项使用XMLHttpRequest
对象,如https://studiolacosanostra.github.io/2020/02/23/How-to-run-rust-wasm-on-cordova/ 所示。
当然,你不需要像他们那样覆盖fetch
函数,但你当然可以使用这个想法来创建你自己的函数。
【讨论】:
【参考方案2】:正如您在控制台中看到的,“对于 CORS 请求,URL 方案必须是“http”或“https”。
【讨论】:
所以使用类似cordova-plugin-httpd 的东西可能会让它工作。可能需要配置设置文件类型,我没试过。以上是关于Cordova 应用程序:Android 是不是支持 webassembly?的主要内容,如果未能解决你的问题,请参考以下文章
Web 推送通知是不是可以在 Apache Cordova Android 应用程序中使用?
Ajax 请求通过浏览器工作,而不是通过 iOS 或 Android 模拟器中的 Cordova 应用程序
使用 Cordova-Android 6.2.0 的 Cordova 错误 - getFileResources 不是函数