无法为平台 "android" 请求 PlatformApi 实例。改为使用 polyfill

Failed to require PlatformApi instance for platform "android". Using polyfill instead

我最近升级了我的 Ionic/Cordova 开发环境,但在重建我的项目时遇到了问题。最初在构建项目时,我遇到了一个错误,因为 cordova-plugin-device 插件被安装了两次,因此 phone 无法访问。

我删除了我的 android 平台并重新添加它,因此它必须重新安装插件,同时考虑到每个插件的依赖性。

当我尝试再次添加回我的平台时,我收到了 Failed to require PlatformApi instance for platform "android". Using polyfill instead. 错误,然后引发了 TypeError: Cannot read property 'replace' of undefined 错误。

我的开发环境如下:

Cordova CLI: 5.4.0
Gulp version:  CLI version 3.9.0
Gulp local:
Ionic Version: 1.1.0
Ionic CLI Version: 1.7.12
Ionic App Lib Version: 0.6.5
OS: Windows 10 Pro
Node Version: v5.3.0

遇到同样问题后这对我有用

我发现确保我必须确保 id 属性必须填写在 config.xml 文件的 <widget> 标记中。即它应该看起来像这样 <widget id="com.example.app" ...>

在我的例子中,我删除了 id 属性,因为我使用的是 android-packageNameios-CFBundleIdentifier,所以我可以为 Android 使用不同的包名称(包标识符)和 iOS.

我遇到了同样的问题。我在 config.xml.

的小部件元素中缺少 ID 属性

https://forum.ionicframework.com/t/ionic-platform-add-give-an-error/41626

运行

cordova -d 平台添加android

让我查看堆栈跟踪并在 cordova 中找到导致错误的行。这让我找到了我的配置中的问题所在。