2015-05-01 10 views
11

Zaktualizowałem mój zestaw SDK Androida zeszłej nocy (31.4), a potem już nie mogę skompilować aplikacji. otrzymuję ten błąd:Nie można wykonać dex: wiele plików dex definiuje Lcom/google/android/gms/analytics/internal/Command

[2015-05-01 14:36:24 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/google/android/gms/analytics/internal/Command$1; 
[2015-05-01 14:36:24 - SoFit] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/google/android/gms/analytics/internal/Command$1; 

I nie zmieniły niczego w moich słoikach. Oto moja konstrukcja libs: enter image description here

Próbowałem: - Clean projekt. - Ponowne uruchomienie zaćmienia. - Usuń folder bin. - Usuń prywatne biblioteki.

Próbowałem również usunąć słoik analityków Google, ponieważ chociaż z ostatniej aktualizacji usług Google Play umieszczają oni analityków wewnątrz biblioteki. Ale nie skompiluje się z powodu brakujących klas.

Zgaduję, że coś z usług Google Play jest źle, ale nie mogę znaleźć, co.

Odpowiedz

6

google analysts v2 nie jest już obsługiwany ... Muszę używać v4, który jest zawarty w usługach Google.

19

Spróbuj usunąć "libGoogleAnalyticsServices.jar" z katalogu libs, a także zaktualizuj kod jako v2 nie obsługuje już więcej. Następnie wyczyść i uruchom. Wszystko będzie dobrze.

+0

To działało jak czar! nie zauważyłem, że pierwszą linią w zależnościach w moim gradle.build jest: compile fileTree (include: ['* .jar'], dir: 'libs') – peresisUser

6

Usuń libGoogleAnalyticsServices.jar ze swojej kompilacji i dodaj Usługi Google Play.

Minimalna wymagana konfiguracja:

compile 'com.google.android.gms:play-services-base:7.5.0' 
compile 'com.google.android.gms:play-services-analytics:7.5.0' 
0

Część odpowiedzi jest Whitehorse na: w moim przypadku był problem o bo zaktualizowane Usługi Google Play lib i teraz zapewnia najnowsza (V4) wersję Analytics . Usunięcie starego słoika nie było jednak wystarczające, ponieważ v4 Analytics nie jest taki sam jak poprzedni (v2 w moim przypadku). Co miałem zrobić, to

  1. Zdjąć libAnaliticsV2.jar z zależnościami i libs/
  2. Utwórz nową klasę EasyTracker: to sprawdzić here
  3. szybko zmienić odniesienia do EasyTracker w moim app