无法为平台“android”要求PlatformApi实例。使用polyfill代替

时间:2016-01-11 00:58:12

标签: cordova ionic ngcordova

我最近升级了Ionic / Cordova开发环境,并且在重建项目时出现问题。最初在构建项目时,由于cordova-plugin-device插件已安装两次而无法通过电话访问,因此出现错误。

我去删除我的android平台并重新添加它,所以它必须重新安装插件,同时考虑到每个插件的依赖项。

enter image description here

当我再次尝试添加平台时,收到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

2 个答案:

答案 0 :(得分:6)

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

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

在我的情况下,我删除了id属性,因为我使用的是android-packageNameios-CFBundleIdentifier,因此我可以为Android和iOS提供不同的包名称(包标识符)。

答案 1 :(得分:2)

我有同样的问题。我在config.xml的widget元素中缺少ID属性。

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

正在运行

cordova -d platform添加android

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