.dex exceeded 64K - kann aber nicht sein

  • Antworten:13
  • Bentwortet
samtux
  • Forum-Beiträge: 147

03.07.2016, 21:58:14 via Website

Hallo.
Ich habe meine App gestern auf meinem G3 über ADB als Debug-App installiert. Das hat alles funktioniert. Danach habe ich keine Änderungen am Code mehr vorgenommen und wollte die App heute auf einem S3 ebenfalls über ADB installieren. Da bringt mir Android Studio aber folgenden Fehler:

Error:The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html

Wenn ich das G3 heute anstecke und die App neu aufspielen will, kommt auch hier der Fehler.

Der Fehler besagt ja eigentlich, dass die App zu viele Funktionsaufrufe hat und deshalb nicht mehr in eine .dex Datei passt.

Da der Fehler aber so plötzlich ohne Code-Änderungen kommt, denke ich mir aber, dass das nicht sein kann. Gibt es noch andere Umstände, wodurch Android Studio der Meinung ist, dass dieser Fehler auftritt? Wie bekommt man den Fehler dann weg?

Ich habe schonmal geschaut, was zu tun ist, wenn es wirklich zu viele Funktionsaufrufe sind. Den Aufwand wollte ich mir eigentlich sparen...

samtux

Antworten
swa00
  • Forum-Beiträge: 3.704

03.07.2016, 22:42:29 via Website

Hallo,

hast Du zufällig die google-play services drin ?

Dann diese ggf auf nur die von dir benötigten Teile reduzieren

e.g
compile 'com.google.android.gms:play-services-location:9.2.0'

Liebe Grüße - Stefan
[ App - Entwicklung ]

samtux

Antworten
samtux
  • Forum-Beiträge: 147

03.07.2016, 23:01:08 via Website

Das funktioniert. Danke!

Hast du vlt. eine Erklärung, warum das so plötzlich ist? Die Play Services habe ich zwischendurch nicht aktualisiert...

Antworten
swa00
  • Forum-Beiträge: 3.704

03.07.2016, 23:04:11 via Website

Na die Jungs von Google packen da ständig jede Menge neue Funktionen rein und irgendwann übersteigt es halt das Limit.

Ich bin aber selbst schon opfer dessen geworden ... :-)

P.S. man kann aber auch mit MultiDex arbeiten .....

— geändert am 03.07.2016, 23:06:44

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
samtux
  • Forum-Beiträge: 147

03.07.2016, 23:10:00 via Website

Den Aufwand mit MultiDex wollte ich mir sparen so lange es geht.

Antworten
swa00
  • Forum-Beiträge: 3.704

03.07.2016, 23:11:15 via Website

Richtig , habe ich auch weg gelassen ....

Viel Erfolg

Liebe Grüße - Stefan
[ App - Entwicklung ]

samtux

Antworten
Alex W.
  • Forum-Beiträge: 12

04.08.2016, 22:13:57 via Website

ich kenn mich noch nicht genau aus. Ich habe den gleichen Fehler weiß aber nicht welche Teile ich weglassen kann.

Antworten
samtux
  • Forum-Beiträge: 147

04.08.2016, 22:21:12 via Website

Was für Abhängigkeiten hast du denn alles drin?
Wenn es die PlayServices sind, welche Funktionen brauchst du? (Also Ortsbestimmung, ...)

Antworten
Alex W.
  • Forum-Beiträge: 12

04.08.2016, 22:32:42 via Website

Werbung, aber ansonsten glaub ich nichts

Antworten
swa00
  • Forum-Beiträge: 3.704

04.08.2016, 23:03:38 via Website

Hallo Alex,

such dir was aus :-)

Google+ com.google.android.gms:play-services-plus:9.4.0
Google Account Login com.google.android.gms:play-services-auth:9.4.0
Google Actions, Base Client Library com.google.android.gms:play-services-base:9.4.0
Google Address API com.google.android.gms:play-services-identity:9.4.0
Google App Indexing com.google.android.gms:play-services-appindexing:9.4.0
Google App Invites com.google.android.gms:play-services-appinvite:9.4.0
Google Analytics com.google.android.gms:play-services-analytics:9.4.0
Google Awareness com.google.android.gms:play-services-contextmanager:9.4.0
Google Cast com.google.android.gms:play-services-cast:9.4.0
Google Cloud Messaging com.google.android.gms:play-services-gcm:9.4.0
Google Drive com.google.android.gms:play-services-drive:9.4.0
Google Fit com.google.android.gms:play-services-fitness:9.4.0
Google Location and Activity Recognition com.google.android.gms:play-services-location:9.4.0
Google Maps com.google.android.gms:play-services-maps:9.4.0
Google Mobile Ads com.google.android.gms:play-services-ads:9.4.0
Google Places com.google.android.gms:play-services-places:9.4.0
Mobile Vision com.google.android.gms:play-services-vision:9.4.0
Google Nearby com.google.android.gms:play-services-nearby:9.4.0
Google Panorama Viewer com.google.android.gms:play-services-panorama:9.4.0
Google Play Game services com.google.android.gms:play-services-games:9.4.0
SafetyNet com.google.android.gms:play-services-safetynet:9.4.0
Android Pay com.google.android.gms:play-services-wallet:9.4.0
Android Wear com.google.android.gms:play-services-wearable:9.4.0

Quelle :
https://developers.google.com/android/guides/setup

— geändert am 04.08.2016, 23:12:45

Liebe Grüße - Stefan
[ App - Entwicklung ]

Alex W.

Antworten
Alex W.
  • Forum-Beiträge: 12

05.08.2016, 09:22:49 via Website

und gibt es welche die man immer braucht?

Antworten
samtux
  • Forum-Beiträge: 147

05.08.2016, 09:42:24 via Website

Nicht das ich wüsste. Wenn du die benötigten drin hast sollte das reichen.

Antworten
swa00
  • Forum-Beiträge: 3.704

05.08.2016, 09:57:14 via Website

Alex,

du weisst ja selbst als Entwickler, was Du in deiner App verwendet hast und diese nimmst du.
Wenn du was vergessen hast , wird der Compiler schon schreien

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Alex W.
  • Forum-Beiträge: 12

05.08.2016, 12:04:23 via Website

ok, danke :)

Antworten