Einheit - Aktivieren Sie Multidex oder zu viele Methoden

Wie alles begann


Hallo alle zusammen. Zu einem bestimmten Zeitpunkt in der Entwicklung eines Spiels für Android auf der Unity-Engine stieß ich auf ein Problem mit dem Build. Nach dem Hinzufügen von Plugins wie Appodeal und Google Play Games zum Projekt hat die Anzahl der verwendeten Methoden 65 KB überschritten und der folgende Fehler ist während des Builds aufgetreten:

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

Nachdem ich die Appodeal-Dokumentation gelesen hatte, wurde mir klar, dass ich Multidex aktivieren musste. Ich habe mich dazu entschlossen. Die Seite hatte einen Link mit Anweisungen für Android Studio. Und dann sollen wir bei Unity, was sollen wir tun?

Und alles ist ziemlich einfach, Sie müssen nur drei Aktionen ausführen:

Aktivieren Sie das Gradle Build System


So aktivieren Sie Gradle in Unity in Ihrem Android-Projekt

  1. Öffnen Sie in Unity die Build-Einstellungen ( Datei >> Build-Einstellungen ).
  2. Wenn Sie keine Plattform ausgewählt haben, ist es Zeit, dies zu tun ( Plattform >> Android )
  3. Wählen Sie in der Liste Build System die Option Gradle ( Build System >> Gradle ).

Bild

Ändern Sie die Gradle-Einstellungen


1. Um die Gradle-Einstellungen zu ändern, müssen Sie zuerst die Gradle-Einstellungsdatei abrufen , die sich im Ordner befindet ( Assets / Plugins / Android / mainTemplate.gradle ). Wenn die Datei mainTemplate.gradle von dem Link heruntergeladen und in die Adresse Assets / Plugins / Android / :

Datei herunterladen

2 eingefügt wird . Wenn Sie die Datei bereits haben, fügen Sie die Zeile multiDexEnabled true zum defaultConfig

3- Objekt hinzu . Wenn die minimale Android-API-Stufe 20 oder niedriger ist , fügen Sie hinzu Diese Zeile kompiliert 'com.android.support:multidex:1.0.1'

4. Kommentieren oder löschen Sie die Zeilen:

minifyEnabled **MINIFY_DEBUG**
useProguard **PROGUARD_DEBUG**

Endgültige Dateiansicht:

Bild

Multidex initialisieren


Wenn die Mindeststufe der Android-API auf 20 oder weniger festgelegt ist.

Aktualisieren Sie die Manifestdatei in Assets / Plugins / Android / AndroidManifest.XML . Wenn Sie diese Datei nicht haben, müssen Sie sie erstellen. Sie finden AndroidManifest standardmäßig.xml im Installationsverzeichnis von Unity. Sie müssen jedoch auch die Projekteinstellungen Ihrer Anwendung manuell anwenden: Paketname, Berechtigungen, Konfigurationsparameter und andere Informationen.

Wenn Sie gerade eine neue Manifestdatei erstellt haben oder bereits eine hatten, fügen Sie diesen Parameter ( android: name ) einfach wie folgt hinzu:

Bild

Das ist alles. Der Fehler verschwindet und Sie erstellen ruhig Ihr Projekt.

Vielen Dank für Ihre Aufmerksamkeit.

Source: https://habr.com/ru/post/undefined/


All Articles