Die Anzahl der Methode Verweise in einem .dex-Datei von 64 Kb nicht überschreiten
Derzeit auf meinem android-Anwendung nach, inklusive play-Dienste und FB Bibliothek in mein Projekt bin ich immer diesen Fehler und kann nicht ausgeführt werden, mein code
:app:prePackageMarkerForDebug
:app:transformClassesWithDexForDebug
Laufen dex im Prozess, den Gradle daemon benötigt einen größeren Haufen.
Es hat derzeit rund 910 MB.
Für schnellere builds, erhöhen Sie die maximale heap-Größe für den Gradle daemon mehr als 2048 MB.
Setzen Sie dazu den org.gradle.jvmargs=-Xmx2048M in das Projekt mit gradle.Eigenschaften.
Weitere Informationen finden Sie unter https://docs.gradle.org/current/userguide/build_environment.html
Fehler:Die Anzahl der Methode Verweise in einem .dex-Datei nicht größer als 64 KB.
Erfahren Sie, wie Sie dieses Problem beheben auf https://developer.android.com/tools/building/multidex.html
:app:transformClassesWithDexForDebug FEHLGESCHLAGEN
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
com.android.bauen.api.verwandeln.TransformException: com.android.ide.common.Prozess.ProcessException: java.util.gleichzeitige.ExecutionException: com.android.ide.common.Prozess.ProcessException: org.gradle.Prozess.intern.ExecException: Prozess 'Befehl '/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/bin/java" finished with non-zero exit-Wert 2
Meine bauen.gradle-Datei ist hier :
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "xyz.in.network"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
multiDexEnabled true
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile project(':libs:ViewPagerIndicator')
compile 'com.google.android.gms:play-services:9.0.0'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.google.android.gms:play-services-maps:9.0.0'
compile 'com.google.android.gms:play-services-location:9.0.0'
compile 'com.android.support:cardview-v7:23.4.0'
compile 'com.getbase:floatingactionbutton:1.10.1'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.android.volley:volley:1.0.0'
compile 'com.google.firebase:firebase-messaging:9.0.0'
compile 'com.android.support:multidex:1.0.1'
}
apply plugin: 'com.google.gms.google-services'
Und meine manifestfile wird hier
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:name="android.support.multidex.MultiDexApplication"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Util.DisconnectedNetwork"
android:screenOrientation="portrait"
android:theme="@style/Theme.Transparent"></activity>
<service android:name=".FCM.FirebaseMessagingHandler">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
<service android:name=".FCM.FirebaseRegistrationTokenHandler">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</application>
Nach Erhöhung der heap-Größe auf 2048M. Gradle, diesen Fehler
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
com.android.bauen.api.verwandeln.TransformException: com.android.ide.common.Prozess.ProcessException: java.util.gleichzeitige.ExecutionException: com.android.dex.DexIndexOverflowException: Methode ID nicht in [0, 0xffff]: 65536
Ich alle Folgen die Anweisungen auf android-Entwickler-Website, aber habe immer noch dieses problem. Wie dieses problem zu lösen?
multidex
sollte die Letzte option sein, weil es den Prozess sehr "heavy". Versuchen Sie stattdessen entfernen Sie einige der Abhängigkeiten: Sie sind mit compile 'com.google.android.gms:play-services-maps:9.0.0'
und compile 'com.google.android.gms:play-services-location:9.0.0'
, aber Sie sind bereits in compile 'com.google.android.gms:play-services:9.0.0'
. Außerdem laden nicht alle play-Dienste, da google es geteilt in kleinere Teile, umfassen genau das, was Sie benötigenInformationsquelleAutor sasuke | 2016-05-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie aktivieren
multidex
im android-Standard-config dann:Wenn Sie erstellen Sie die Anwendung in einer täglichen routine, die Sie normalerweise verwenden, die
debug
Standard-Geschmack. Also, wenn Sie die Anwendung mehr als 65k-Methode, die Sie brauchen, ot ermöglichen Sie es den ganzen Geschmack.Als seitliche Anmerkung, die Sie verwenden möchten, können Proguard auf der debug-build, so dass Sie nicht haben, um zu ermöglichen, multiDex.
Full app/build.gradle (Dokumentation)
Letzten Teil: fügen Sie das MultiDex Anwendung im manifest (oder als Eltern Ihrer eigenen
Application
InformationsquelleAutor Hugo Gresse
War ich der Begegnung einen ähnlichen Fehler mit meiner app, und so habe ich ein plugin installiert in Android Studio namens-Methoden Count (http://www.methodscount.com/). Es zeigt die Anzahl der Methode Verweise jede Abhängigkeit nutzt, und es zeigte mir, kompilieren Pfad
hatte über 69k Referenzen auf eigenen
Ich änderte es, um zu zeigen, eine Ihrer Abhängigkeiten statt:
und es zeigt, 69,520 Methode Referenzen als Abhängigkeiten für das kompilieren Weg.
Ist es wahrscheinlich, dass Sie nicht mit dem Ausmaß der compile-Pfad, und kann in der Lage, geben Sie mehr darauf konzentriert Wege zu beseitigen, ein Stück verwendete Methode Referenzen und Holen Sie sich Weg unter die 65k maximal. Eine Liste von individualisierten Dienstleistungen sind hier.
In meinem Fall, ich kann mir nur vorstellen, ich fügte hinzu, dass gms-Service line vor etwa einem Jahr, wenn ich incorporated FB in meiner app, aber nicht finden können, die die gleiche Referenz auf der FB-website.
Nur realisieren, einen Kommentar auf Ihre Frage sagt etwas ähnliches über das Aufbrechen der Abhängigkeit in nur, was Sie brauchen.
InformationsquelleAutor mfraser702
haben Sie mutlidex aktiviert release Geschmack, sollte man diese Zeile auch für debug-Geschmack
InformationsquelleAutor snachmsm