1

嘿,我分叉了推送通知插件(https://github.com/alexislg2/PushPlugin)并将其添加到我的项目中。

该项目将无法编译,cordova build因为我有一个error: cannot find symbol错误。

原因是我在插件Notification.setCategory()方法中使用了 Android SDK 21。

如何强制科尔多瓦使用 API 级别 21 进行编译?

我安装了 android 21 sdk 构建工具 + 我<preference name="android-targetSdkVersion" value="21" />在我的 config.xml 中设置

但是cordova一直在尝试用android 19编译。出了什么问题?

谢谢

4

1 回答 1

2

这是 Cordova 更新到 android-21 的进展,android 平台插件 v4.0 将支持棒棒糖: https ://issues.apache.org/jira/browse/CB-8026

关于 cookie 和临时解决方法存在问题:http: //tol8.blogspot.ca/2014/11/fixed-apps-cordovaphonegap-targeting.html

我建议等待下一个版本,看起来 3.7.1 也更新了目标 api 级别。

我没有在我的项目中使用与 cookie 相关的功能,所以我只是将“android-19”替换为“android-21”

platforms/android/CordovaLib/project.properties

并在 config.xml 中添加首选项

<platform name="android">
    <preference name="android-targetSdkVersion" value="21" />
</platform>

另一个解决方法(但丑陋)是更改 android 插件代码的系统缓存:

~/.cordova/lib/npm_cache/cordova-android/3.6.4/package/framework/project.properties

- - 更新 - -

Cordova 4.2.1(当前为 4.1.2)中将添加更新平台插件的更好方法: https ://issues.apache.org/jira/browse/CB-8239

$ cordova platform add <URL>
于 2015-02-20T01:54:01.727 回答