我正在使用适用于 Android 的 Cordova(版本 4.0.0)构建一个混合应用程序。
我已将 PushPlugin ( https://github.com/phonegap-build/PushPlugin) 添加到项目中。注册时它会转到错误处理程序并显示“找不到类”。
我尝试过各种建议,比如
- 在 xml 中添加了插件引用。实际上插件引用已经存在于 config.xml 文件中。
- 使用 CLI 直接安装插件 (试过 Cordova 插件添加 https://github.com/phonegap-build/PushPlugin.git以及 Cordova 插件添加 com.phonegap.plugins.pushplugin)
- 创建新项目等
- PushNotification.js 添加到 html (
<script type="text/javascript" src="js/PushNotification.js"></script>
) 中,位于www/js/
中
但我仍然收到相同的消息“找不到类”
我已经安装了 PushPlugin 使用的设备、文件、媒体等支持插件
如果有人对此问题有解决方案,请指教。
代码示例:
document.addEventListener("deviceready", onDeviceReady, false);
var pushNotification;
function onDeviceReady() {
//Push notification
pushNotification = window.plugins.pushNotification;
pushNotification.register(successHandler, errorHandler, {"senderID":"xxxxxxxxxx", "ecb":"onNotification"});
}
最佳答案
通过将 google play service 库添加到我的项目中,最终实现了此功能
要遵循的步骤:
- 从
ANDROID SDK 复制 google-play-services_lib 文件夹 /extras/google/google_play_services/libproject/
到您的项目myproject/platform/android
文件夹 - 复制build.xml, local.properties &
project.properties 文件从您的
myproject/platforms/android/CordovaLib
文件夹到myproject/platforms/android/google-play-services_lib
文件夹< - 打开
project.properties 文件位于
myproject/platforms/android/google-play-services_lib
文件夹 - 检查项目是否以 android 19 为目标,即 target=android-19,如果不是,则将其更改为
target=android-19
打开
myproject/platform/android
文件夹中的 project.properties 并添加引用 2,如下所示,目标=android-19 android.library.reference.1=CordovaLib android.library.reference.2=google-play-services_lib
在 CLI 中,转到项目中的 google-play-services_lib 文件夹并运行
android 更新项目 -p .
后跟,
Ant 调试 Ant 发布
如果出现任何错误,请先运行
ant clean debug
然后再次运行Ant 调试 Ant 发布
- 在 CLI 中,转到
myproject/
并使用cordova build android
构建项目
从另一个 post 获得此信息,认为这对其他有类似问题的人有帮助。
关于android - PushPlugin 注册到 errorhandler 显示 'Class not found' 与 cordova 4.0.0 for android 平台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27165842/