ionic-team / ng-cordova

OBSOLETE: Please move to Ionic Native https://github.com/ionic-team/ionic-native
https://github.com/ionic-team/ionic-native
MIT License
3.48k stars 1.05k forks source link

Facebook Multiple dex files #1009

Open EduardoNE opened 9 years ago

EduardoNE commented 9 years ago

Using the Facebook plugin on ios works fine, on android i get this:

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)

How i can resolve this?

alexklibisz commented 9 years ago

I believe that this issue is related: https://github.com/Wizcorp/phonegap-facebook-plugin/issues/992 Specifically, see this comment and down: https://github.com/Wizcorp/phonegap-facebook-plugin/issues/992#issuecomment-126502613

It looks like it's a matter of having differing Android dependencies between the Facebook and Push plugins.

I was able to resolve these build problems by switching to the Telerik Facebook and Push Plugins: https://github.com/Telerik-Verified-Plugins/Facebook, https://github.com/Telerik-Verified-Plugins/PushNotification

However, this then invalidated my $cordovaPush configuration. This is an issue I'm still trying to resolve. I've had some luck with push notifications by switching to the newer phonegap-push plugin: https://github.com/phonegap/phonegap-plugin-push

So now my package.json plugins object contains this:

{
      "locator": "https://github.com/jeduan/cordova-plugin-facebook4",
      "id": "cordova-plugin-facebook4",
      "variables": {
        "APP_ID": "111222333444555666",
        "APP_NAME": "MyApp"
      }
    },
    {
      "locator": "https://github.com/phonegap/phonegap-plugin-push",
      "id": "phonegap-plugin-push"
    }

I hope this helps get your build working. And let me know if you're able to get both $cordovaFacebook and $cordovaPush working together.

EduardoNE commented 9 years ago

i've changed all my solution, now i'm doing myself the validation and all things attached to login...

EduardoNE commented 9 years ago

what is better, close the issue or leave this open?

macdonst commented 8 years ago

@EduardoNE I'd say leave it open. For now I'd say ngCordova should switch to using jeduan's fork.

jgiovanni commented 8 years ago

+1 for switching to Jeduan's fork

mlynch commented 8 years ago

Hey everyone, we're in the process of doing this. Thanks for the info!