Cordova 无法加载 platformapi

Posted

技术标签:

【中文标题】Cordova 无法加载 platformapi【英文标题】:Cordova Unable to load platformapi 【发布时间】:2018-03-29 16:39:42 【问题描述】:

我这几天一直有这个问题。 Cordova 无法在浏览器中运行,错误提示浏览器未添加为平台。但是,尝试将浏览器添加为平台时,会导致另一个错误,即无法从平台加载 platfromapi。它还说浏览器不是一个有效的平台。看截图:

Cordova issues 1 Cordova issues 2

【问题讨论】:

我的评论仅适用于尝试双重构建 reactjs 项目的人:如果您的项目中没有 www 文件夹,您将收到此错误。 【参考方案1】:

对于那些在最新的 ionic 和 cordova 版本中仍然遇到此问题的人。运行:

    ionic cordova platform rm browser/android/ios ionic cordova run --emulator

【讨论】:

你知道我怎样才能做到这一点:ionic cordova platform add android@4.1.1 ...每次我这样做我都会得到Error: Package name must look like: com.company.Name,即使widget id是必需的格式 人们可能会混淆内联运行你的命令,它可能是单独运行的,真正的参数是平台rm名称/版本/URL【参考方案2】:

转到您的android studio -> tools -> android -> Sdk manager -> Sdk platform 并更新 Android 7+ 和 8+

然后运行 ​​

cordova platform rm browser
cordova platform add browser

【讨论】:

【参考方案3】:

删除您尝试在其上运行的平台(浏览器、ios、android 等)

cordova platform rm browser

再次添加平台

cordova platform add browser

你可以跑

cordova run browser

【讨论】:

谢谢!这确实有效!该平台似乎正在尝试添加/增强旧版本的浏览器平台(我认为是 4.1.0)。但是使用platform rm和platform add的时候,会添加更新的浏览器平台(5.0.0) 尝试添加和删除平台仍然出现错误:无法从平台加载 PlatformApi。错误:找不到模块“/var/lib/jenkins/workspace/qa_global_php/platforms/.gradle/cordova/Api.js”无法安装“mx.ferreyra.callnumber”:错误:未捕获,未指定的“错误”事件。 (平台“.gradle”似乎不是有效的 cordova 平台。它缺少 API.js。不支持 .gradle。)在 EventEmitter.emit (events.js:166:17) 在 EventEmitter.module.exports。发出(/usr/local/lib/node_modules/cordova/node_modules/cordova-common/src/events.js:71:17) 在 Object.getPlatformApiFunction (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/util.js:500:20) 在 Object.getPlatformApi (/usr/ local/lib/node_modules/cordova/node_modules/cordova-lib/src/platforms/platforms.js:55:25) 在handleInstall (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/ install.js:593:29) 在 /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:357:28 在 _fulfilled (/usr/local/lib/node_modules/cordova /node_modules/q/q.js:787:54) 对于在其 ios 平台上进行任何原生 ios 更改的项目来说,这不是一个可接受的解决方案。 addremove 没有解释为什么会发生此错误以及我们如何防止删除平台中的本机更改。【参考方案4】:

浏览器平台似乎不支持插件 PlatformApi(或它的确切名称)。

您不能使用“cordova 平台添加浏览器”,因为插件不是为与浏览器一起工作而编写的

也许它有一些无法在浏览器中模拟的特定功能。

【讨论】:

浏览器平台过去工作正常。几天前它刚刚停止工作,没有任何迹象表明原因。我已经在我的项目上工作了几个星期,并且一直在使用浏览器平台测试功能,直到我开始收到这些错误!

以上是关于Cordova 无法加载 platformapi的主要内容,如果未能解决你的问题,请参考以下文章

Cordova 插件无法加载

为啥所有 Cordova 插件都无法在 iOS 上加载?

Apache Cordova 无法加载插件

Cordova iOS libMobileGestalt 错误应用程序无法加载

Cordova 5.3.1 和 iOS9 平台 - 我无法从外部源加载图像和脚本

cordova-plugin-ad-admob 通过 phonegap 构建,无法加载和显示广告