如何在单个Ionic应用程序中使用ngcordova Facebook和推送通知插件 [英] How to use ngcordova facebook and push notification plugins in single ionic app
问题描述
当我在同一应用程序中使用ngCordova facebook和pushNotification插件并构建应用程序时,发现以下错误.
when i am using ngCordova facebook and pushNotification plugins in same app and build the app then find the following error.
================================================ ========================= 超出预期的最高级别: com.android.dex.DexException:多个dex文件定义了Landroid/support/annotation/AnimRes; 在com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) 在com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) 在com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) 在com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) 在com.android.dx.merge.DexMerger.merge(DexMerger.java:189) 在com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502) 在com.android.dx.command.dexer.Main.runMonoDex(Main.java:334) 在com.android.dx.command.dexer.Main.run(Main.java:277) 在com.android.dx.command.dexer.Main.main(Main.java:245) 在com.android.dx.command.Main.main(Main.java:106)
======================================================================== UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) at com.android.dx.merge.DexMerger.merge(DexMerger.java:189) at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334) at com.android.dx.command.dexer.Main.run(Main.java:277) at com.android.dx.command.dexer.Main.main(Main.java:245) at com.android.dx.command.Main.main(Main.java:106)
失败
失败:构建失败,并出现异常.
FAILURE: Build failed with an exception.
-
出了什么问题: 任务':dexDebug'的执行失败.
What went wrong: Execution failed for task ':dexDebug'.
com.android.ide.common.internal.LoggedErrorException:无法运行命令: /opt/android-sdk-linux/build-tools/23.0.1/dx --dex --no-optimize --output/home/anurag/my-works/fbPush/platforms/android/build/intermediates/dex/调试--input-list =/home/anurag/my-works/fbPush/platforms/android/build/intermediates/tmp/dex/debug/inputList.txt 错误代码: 2个 输出:
com.android.ide.common.internal.LoggedErrorException: Failed to run command: /opt/android-sdk-linux/build-tools/23.0.1/dx --dex --no-optimize --output /home/anurag/my-works/fbPush/platforms/android/build/intermediates/dex/debug --input-list=/home/anurag/my-works/fbPush/platforms/android/build/intermediates/tmp/dex/debug/inputList.txt Error Code: 2 Output:
超出预期的最高级别: com.android.dex.DexException:多个dex文件定义了Landroid/support/annotation/AnimRes; 在com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) 在com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) 在com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) 在com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) 在com.android.dx.merge.DexMerger.merge(DexMerger.java:189) 在com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502) 在com.android.dx.command.dexer.Main.runMonoDex(Main.java:334) 在com.android.dx.command.dexer.Main.run(Main.java:277) 在com.android.dx.command.dexer.Main.main(Main.java:245) 在com.android.dx.command.Main.main(Main.java:106)
UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) at com.android.dx.merge.DexMerger.merge(DexMerger.java:189) at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334) at com.android.dx.command.dexer.Main.run(Main.java:277) at com.android.dx.command.dexer.Main.main(Main.java:245) at com.android.dx.command.Main.main(Main.java:106)
尝试: 使用--stacktrace选项运行以获取堆栈跟踪.使用--info或--debug选项运行,以获取更多日志输出.
Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
建立失败
总时间:38.579秒
Total time: 38.579 secs
/home/anurag/my-works/fbPush/platforms/android/cordova/node_modules/q/q.js:126 抛出e; ^ 命令的错误代码1:/home/anurag/my-works/fbPush/platforms/android/gradlew带有args:cdvBuildDebug,-b,/home/anurag/my-works/fbPush/platforms/android/build.gradle,- Dorg.gradle.daemon = true
/home/anurag/my-works/fbPush/platforms/android/cordova/node_modules/q/q.js:126 throw e; ^ Error code 1 for command: /home/anurag/my-works/fbPush/platforms/android/gradlew with args: cdvBuildDebug,-b,/home/anurag/my-works/fbPush/platforms/android/build.gradle,-Dorg.gradle.daemon=true
推荐答案
我在我的应用程序上遇到了同样的问题,我通过删除我的cordova facebook插件并添加了一个插件来解决了这个问题:
I had the same issue on my app and i solved it by removing my cordova facebook plugin and adding this one : https://github.com/jeduan/cordova-plugin-facebook4
我的推送通知插件是:phonegap-plugin-push
My push notification plugin is : phonegap-plugin-push
这篇关于如何在单个Ionic应用程序中使用ngcordova Facebook和推送通知插件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!