Geofence和OneSignal这两个插件不能一起使用。
主要问题是插件安装后,我的应用已成功安装在设备上(已在android上测试),但是当单击打开的应用时,该应用崩溃了(未打开)。 之后,我一次只检查了一个插件,然后工作正常。
请帮助我
谢谢
我遵循的步骤
1-创建新的应用程序。 2-安装插件
- Geofence
$ ionic cordova plugin add cordova-plugin-geofence
$ npm install --save @ionic-native/geofence
- OneSignal
$ ionic cordova plugin add onesignal-cordova-plugin
$ npm install --save @ionic-native/onesignal
3-在设备上运行应用(不做任何更改)
- Ionic cordova run android
离子信息
cli packages: (/usr/local/lib/node_modules)
@ionic/cli-utils : 1.19.2
ionic (Ionic CLI) : 3.20.0
全局软件包:
cordova (Cordova CLI) : 7.1.0
本地软件包:
@ionic/app-scripts : 3.1.10
Cordova Platforms : android 6.3.0
Ionic Framework : ionic-angular 3.9.2
系统:
Android SDK Tools : 25.2.5
ios-deploy : 1.9.2
ios-sim : 6.1.2
Node : v8.11.1
npm : 5.6.0
OS : macOS High Sierra
Xcode : Xcode 9.3 Build version 9E145
环境变量:
ANDROID_HOME : /Volumes/TimeMachine/Android_SDK
其他:
backend : pro
答案 0 :(得分:2)
由于OneSignal和Geofence插件之间存在依赖关系冲突,因此发生以下错误,因此发生了这种情况。
java.lang.NoClassDefFoundError: Failed resolution of:
Lcom/google/android/gms/common/internal/zzbq;
但是,如果您通过更改您拥有的本地拉动或创建项目的分支并从中拉动来修改Geofence插件,则可以使OneSignal和Geofence Cordova插件协同工作。
您需要注释的行是插件的第49行-> cordova-plugin-geofence-> plugin.xml
<framework src="com.google.android.gms:play-services-location:+" />
执行此操作后,您将需要删除并再次将android添加为平台
ionic cordova platform rm android
ionic cordova platform add android