2019.3.0f6
7.18.0
und 7.18.1
[Android]
Version any
Erstellen Sie das Projekt
Projekt ist erfolgreich gebaut
Das Projekt kann mit der folgenden Ausgabe nicht erstellt werden:
CommandInvokationFailure: Gradle build failed.
/Applications/Unity/Hub/Editor/2019.3.0f6/PlaybackEngines/AndroidPlayer/OpenJDK/bin/java -classpath "/Applications/Unity/Hub/Editor/2019.3.0f6/PlaybackEngines/AndroidPlayer/Tools/gradle/lib/gradle-launcher-6.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"
stderr[
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':launcher:checkReleaseDuplicateClasses'.
> 1 exception was raised by workers:
java.lang.RuntimeException: Duplicate class android.support.v4.app.INotificationSideChannel found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Duplicate class android.support.v4.app.INotificationSideChannel$Stub found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Duplicate class android.support.v4.app.INotificationSideChannel$Stub$Proxy found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Duplicate class android.support.v4.os.IResultReceiver found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Duplicate class android.support.v4.os.IResultReceiver$Stub found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Duplicate class android.support.v4.os.IResultReceiver$Stub$Proxy found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Duplicate class android.support.v4.os.ResultReceiver found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Duplicate class android.support.v4.os.ResultReceiver$1 found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Duplicate class android.support.v4.os.ResultReceiver$MyResultReceiver found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Duplicate class android.support.v4.os.ResultReceiver$MyRunnable found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Go to the documentation to learn how to Fix dependency resolution errors.
ODER
Wenn ich nur mit Facebook SDK baue, funktioniert es.
Wenn ich nur mit Firebase SDK baue, funktioniert es.
Wenn ich sowohl mit dem Facebook SDK als auch mit dem Firebase SDK baue, schlägt es fehl.
Ich habe ein Repro-Projekt nach den oben genannten Schritten erstellt.
https://drive.google.com/file/d/1ngzavtEftODND1EpRyNchq3qClpyXl0C/view?usp=sharing
HI @KylinChang , gibt es dazu irgendwelche Updates?
Wir können das Projekt nicht auf Unity 2019.3 aufbauen.
Auf Android wegen dieses Problems und auf iOS wegen Nr. 359.
Hey @mcrvaz , kannst du v7.18.1 ausprobieren?
Das gleiche Problem tritt auch mit Facebook SDK v7.18.1 auf.
Das gleiche Problem tritt mit Facebook SDK v7.18.1 auf. Unser Spiel kann momentan nicht erstellt werden. Firebase oder Facebook vorübergehend deaktivieren.
@kashiftasneempro hast du zuerst das alte Plugin gelöscht?
@kashiftasneempro hast du zuerst das alte Plugin gelöscht?
Ja, habe ich.
Ich habe das gleiche Problem, hat jemand diesbezüglich Fortschritte gemacht? Scheint ein Konflikt zwischen Androidx und Support-Bibliothek zu sein?
Eigentlich: Ich habe das noch nicht vollständig getestet, aber entfernen
implementation(name: 'com.android.support.support-compat-27.0.2', ext:'aar')
Von build.gradle bekomme ich wieder APK's. Werde aber mal testen ob was kaputt ist.
Update 1: Es sieht so aus, als ob die Dinge auf meiner Seite funktionieren, Facebook funktioniert immer noch und ich bekomme die Initialisierung des Firebase-Push-Tokens korrekt.
Update 2: Ich habe vergessen zu erwähnen, dass ich auch eine Zeile in der Firebase AndroidManifest-Datei entfernen muss, die verwendet-sdk ... 14
Beim Entfernen dieser beiden Zeilen funktioniert alles wunderbar. Ich konnte alles im Zusammenhang mit meinen Anwendungsfällen testen. Hoffentlich hilft das anderen.
Eigentlich: Ich habe das noch nicht vollständig getestet, aber entfernen
implementation(name: 'com.android.support.support-compat-27.0.2', ext:'aar')
Von build.gradle bekomme ich wieder APK's. Werde aber mal testen ob was kaputt ist.
Update 1: Es sieht so aus, als ob die Dinge auf meiner Seite funktionieren, Facebook funktioniert immer noch und ich bekomme die Initialisierung des Firebase-Push-Tokens korrekt.
Update 2: Ich habe vergessen zu erwähnen, dass ich auch eine Zeile in der Firebase AndroidManifest-Datei entfernen muss, die verwendet-sdk ... 14
Beim Entfernen dieser beiden Zeilen funktioniert alles wunderbar. Ich konnte alles im Zusammenhang mit meinen Anwendungsfällen testen. Hoffentlich hilft das anderen.
Arbeitest du in Unity?
Unity hat mainTemplate.gradle nicht build.gradle.
Ja, das ist Unity, anstatt die apk/aab aus dem Editor zu erstellen, exportiere ich nach Android Studio, damit ich Abhängigkeiten durcharbeiten kann. Es hilft sehr beim Debuggen von solchen Dingen.
Hallo @ncinoadam , welche Firebase-Module verwenden Sie? Nur Push-Benachrichtigungen?
@ncinoadam @kashiftasneempro Ich habe es geschafft, dies zu lösen, indem ich folgt geändert habe:
dependencies {
implementation 'androidx.multidex:multidex:2.0.0'
implementation fileTree(dir: 'libs', include: ['*.jar'])
// Android Resolver Dependencies Start
implementation 'androidx.appcompat:appcompat:1.0.0'
// Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
implementation 'androidx.cardview:cardview:1.0.0'
// Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
implementation 'androidx.cardview:cardview:1.0.0'
// Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
implementation 'androidx.browser:browser:1.0.0'
// Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
// Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:6
...
Hallo @ncinoadam , welche Firebase-Module verwenden Sie? Nur Push-Benachrichtigungen?
Ich verwende derzeit nur das Messaging-Modul, aber es wäre nicht schwer, die Konflikte herauszufinden und sie auch für andere zu beheben.
Das Problem kann gelöst werden, indem Projekt und Build mit Android Studio exportiert und dann mit AndroidX migriert werden, indem fast alte Abhängigkeiten nach dem erwähnten
Eigentlich: Ich habe das noch nicht vollständig getestet, aber entfernen
implementation(name: 'com.android.support.support-compat-27.0.2', ext:'aar')
Von build.gradle bekomme ich wieder APK's. Werde aber mal testen ob was kaputt ist.
Update 1: Es sieht so aus, als ob die Dinge auf meiner Seite funktionieren, Facebook funktioniert immer noch und ich bekomme die Initialisierung des Firebase-Push-Tokens korrekt.
Update 2: Ich habe vergessen zu erwähnen, dass ich auch eine Zeile in der Firebase AndroidManifest-Datei entfernen muss, die verwendet-sdk ... 14
Beim Entfernen dieser beiden Zeilen funktioniert alles wunderbar. Ich konnte alles im Zusammenhang mit meinen Anwendungsfällen testen. Hoffentlich hilft das anderen.
Danke @ncinoadam , das hat bei mir mit dem Analysemodul funktioniert.
Ich stimme @GunLengend zu , es ist ein Hack, mit Dateien in Android Studio
EDIT: Ich möchte auch erwähnen, dass dieses Problem nichts mit dem Facebook SDK zu tun hatte, da ich es nicht in meinem Projekt habe. Ich habe hier ein Problem eröffnet (https://github.com/firebase/quickstart-unity/issues/607), weil ich so ziemlich die gleiche Unity-Protokollausgabe hatte und das Problem mit dem behoben habe , was
Was ich gerade überlege, ist nicht nur ein Facebook- und Firebase-Problem, sondern es kann auch zu Unity selbst gehören. Da enableJetifier und useAndroidX in der Unity-Datei mainTemplate.gradle aktiviert wurden, aber wenn Unity den Build-Prozess startet, der Jetifier seine Aufgabe nicht erfüllt, sollte er alle alten Abhängigkeiten migrieren, um die Verwendung von AndroidX zu erzwingen, aber das ist nicht der Fall, und Android Studio kann diesen Trick machen.
Was ich gerade überlege, ist nicht nur ein Facebook- und Firebase-Problem, sondern es kann auch zu Unity selbst gehören. Da enableJetifier und useAndroidX in der Unity-Datei mainTemplate.gradle aktiviert wurden, aber wenn Unity den Build-Prozess startet, der Jetifier seine Aufgabe nicht erfüllt, sollte er alle alten Abhängigkeiten migrieren, um die Verwendung von AndroidX zu erzwingen, aber das ist nicht der Fall, und Android Studio kann diesen Trick machen.
Nach dem Upgrade auf die neueste Version von Unity, Facebook SDK, Firebase SDK, sind alle Android-Build-Probleme behoben. Jetzt kämpfe ich mit iOS in Xcode, aber es hat nichts mit diesem SDK zu tun.
BEARBEITEN: Dies könnte daran liegen, dass ich Firebase Analytics zuvor aktiviert hatte und jetzt nicht mehr. Ich habe das Facebook SDK nicht verwendet, als ich das Problem zum ersten Mal bekam, es war ein Problem mit dem Mapbox SDK, das Java-Bibliotheken neu verteilt, anstatt auf den Android-Resolver zu aktualisieren. Ich habe Mapbox abgeschafft und angefangen, Google Maps zu verwenden, so gut dort, aber dann habe ich eine ältere Version des Facebook SDK eingeführt, weil die Dokumentation eines meiner Assets die ältere Version fordert und ich bei der Einführung mehrere doppelte Klassen hatte. Also bekam ich das neue Facebook SDK und musste den Code im Asset anpassen, der die ältere Version benötigte. Derzeit funktioniert nur die Firebase-Authentifizierung, aber sie scheint immer noch androidx.core.core-1.0.0 zu verwenden, und dort waren die meisten doppelten Klassen für mich. Hoffentlich hilft das
Ich habe denselben Konflikt, wenn ich FB zu meinem Projekt hinzufüge, in dem ich AdMob habe
Attribut application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) von [com.android. support:support-compat :28.0.0] AndroidManifest. xml:22 :18-91
Nach dem Hinzufügen vorgeschlagen
tools:replace="android:appComponentFactory" android:appComponentFactory="whateverString"
ich bekomme
java.lang.RuntimeException: Doppelte Klasse android.support.customtabs.ICustomTabsCallback in den Modulen classes.jar (androidx.browser:browser:1.0.0) und classes.jar (com.android.support:customtabs:28.0.0)
Und mehr ...
Ich habe die neuesten Versionen aller SDKs und Unity.
Ich weiß nicht, warum Sie mir einen Daumen runter gegeben haben und warum ich Ihnen danach helfen möchte, aber ich schlage vor, dass Sie die com.android löschen. support:customtabs :28.0.0, normalerweise gespeichert unter Assets/Plugins/Android/ und sehen Sie, ob das Ihr Problem behebt.
Das Problem ist, dass ich mainTemplate.gradle
anstatt Tonnen von Bibliotheken im Ordner Assets/Plugins/Android/ zu haben. (haben begrenzten Platz im Repository).
Ich habe alle implementation 'com.android.support.XXXX'
entfernt und habe immer noch das gleiche Problem.
Sie haben Daumen runter, weil Ihre Lösung nicht für mich ist. Wenn der Admin einen solchen Beitrag wie Ihren liest, kann er dieses Problem schließen, weil er davon ausgeht, dass alles erledigt ist, wenn dies NICHT der Fall ist.
Ich unterstütze viele Projekte und Lösungen wie: Export to Android Studio
oder remove library
mit ist in meinem Projekt nicht vorhanden ist keine Lösung.
Viel Glück, Bud
Was ich gerade überlege, ist nicht nur ein Facebook- und Firebase-Problem, sondern es kann auch zu Unity selbst gehören. Da enableJetifier und useAndroidX in der Unity-Datei mainTemplate.gradle aktiviert wurden, aber wenn Unity den Build-Prozess startet, der Jetifier seine Aufgabe nicht erfüllt, sollte er alle alten Abhängigkeiten migrieren, um die Verwendung von AndroidX zu erzwingen, aber das ist nicht der Fall, und Android Studio kann diesen Trick machen.
Das Problem ist sowohl ein Google/Unity-Problem als auch ein Facebook-Problem. Facebook muss sein SDK aktualisieren, um AndroidX zu verwenden, ganz einfach und dieses Problem verschwindet. Google/Unity haben ihre eigene Version von Jetifier entwickelt, die in Unity ausgeführt wird, um das Problem zu beheben, bis Unternehmen wie Facebook es beheben, aber Jetifier von Unity funktioniert nicht mit dem Facebook SDK!
Glücklicherweise funktioniert Jetifier von Android Studio gut ... und das ist buchstäblich die einzige Lösung, um ein Unity-Spiel mit Facebook SDK und jeder anderen Bibliothek, die AndroidX verwendet, auszuführen.
Ich hatte das gleiche Problem und wechselte von V7.16 auf v7.19.2, wodurch das Problem für mich behoben wurde.
@LunarInteractiveArts Ich habe 7.19.2 ausprobiert, aber es hat leider nicht funktioniert.
Es gibt jedoch eine Lösung für diesen Fehler: https://github.com/googlesamples/unity-jar-resolver/issues/360 , die funktioniert!
@doom-goober Ich habe das versucht und es funktioniert nicht oder ich.
Der Code sieht ähnlich aus, was der Google Dependencies Resolver generiert:
Sieht so aus, als hätte ich den Fix im OneSignal-Hilfebereich gefunden. Fix ist für Unity ofc. https://documentation.onesignal.com/docs/troubleshooting-unity#section -android-x-compatibility
Ich habe es in zwei Schritten für Unity 2019.3.11f1 gelöst :
Edit
-> Project Settings
-> Player
-> Publishing settings
-> Kreuze Custom Properties Gradle Template
gradleTemplate.properties
und fügen Sie diese Zeilen oben hinzu:In Unity 2019.2.21 sind die doppelten Klassenfehler auch bei aktiviertem Jetfiier wie unten beschrieben noch vorhanden
([rootProject] + (rootProject.subprojects als Liste)).each {
ext {
it.setProperty("android.useAndroidX", true)
it.setProperty("android.enableJetifier", true)
}}
}}
@jackatfp Hast du @gromilQaaaa ‚s Lösung versuchen? Hier ist ein direkter Link zu dem Abschnitt des Dokuments, der meinen Build wieder von Unity zum Laufen gebracht hat:
https://documentation.onesignal.com/docs/troubleshooting-unity#unity -20193-oder-neuer
Dies ist der Abschnitt, in dem Sie eine Datei namens Assets/Plugins/Android/settingsTemplate.gradle hinzufügen müssen.
Dieses Problem frustrierte mich ohne Ende und ich wollte mich dazu entschließen, mit Android Studio zu bauen. Nur diese Lösung hat bei mir durchweg funktioniert (ich dachte, die vorherige funktionierte, aber sie funktionierte bei mir nicht mehr, als ich einige andere Plugins wieder in mein Projekt einfügte.) Und logischerweise machte es einen Sinn: Das Gradle-System nahm den Jetifier eindeutig nicht von Der Postprozessor und die Einstellungen von Unity, aber der Jetifier funktionierte eindeutig, da er in Android Studio funktionierte, das Gradle verwendet. Eine gradlebasierte Lösung scheint also sinnvoll zu sein.
Jedenfalls hat es bei mir funktioniert und ich war so verärgert und erfreut, eine Lösung zu finden, die ich hoffe, dass sie für Sie funktioniert. Bitte versuchen Sie es! Viel Glück.
Sie haben Recht, dass in diesem Fall der Jetifier nicht aufgenommen wurde, aber Sie müssen die OneSignal-Lösung nicht mehr verwenden.
Mit der neuesten offiziellen Version 2019.3 (meine ist 2019.3.12f1 atm) können Sie einfach die Vorlage für benutzerdefinierte Gradle-Eigenschaften über der Haupt-Gradle-Vorlage verwenden und Folgendes hinzufügen:
android.useAndroidX=true
android.enableJetifier=true
in die neu generierte Datei gradleTemplate.properties.
Ich habe in Android Studio exportiert, um mit allen SDKs zu bauen, die mein Publisher will, und seitdem die Misere von Android-Build-Fehlern durchgearbeitet, als Junior-Entwickler denke ich, dass ich auf jedes Problem gestoßen bin, aber jetzt kann ich endlich aus Unity heraus bauen. Jetifier funktionierte außer in Android Studio nicht richtig mit dem Facebook SDK.
Normalerweise muss ich auch Plugins/Android/AndroidManifest.xml ändern, um dies im Anwendungs-Tag zu haben:
tools:replace="android:appComponentFactory" android:appComponentFactory="leavemealone"
auch xmlns:tools="http://schemas.android.com/tools"
im Manifest-Tag
Ja, es ist eine zufällige Zeichenfolge, da ich nicht sicher bin, was der Zweck davon ist, aber es funktioniert und behebt meinen manifesten Merger-Build-Fehler, na ja.
Ich kann jetzt mit Ironsource (viele Adapter damit), Facebook SDK, GameAnalytics, Adjust, Firebase und was auch immer bauen. Im Grunde einfach den neuesten Unity Jar Resolver holen, die Einstellungen überprüfen, automatische Auflösung entfernen, Auflösung beim Build entfernen, Patch-Maintemplate setzen und Jetifier auf true setzen, Auflösung erzwingen, zusätzliche Abhängigkeiten / Repos hinzufügen, die Sie möchten, machen den Gradleproperties-Trick, bauen in Unity, fertigity .
@doom-goober ja, wir haben alles versucht, einschließlich der von dir erwähnten Lösung, aber es funktioniert immer noch nicht
@doom-goober ja, wir haben alles versucht, einschließlich der von dir erwähnten Lösung, aber es funktioniert immer noch nicht
Hast du die Option @ruslanmamonov ausprobiert?
Das passiert mir auch. Ich habe alle oben genannten Lösungen ohne Erfolg ausprobiert. Facebook SDK injiziert alte Abhängigkeiten, die mit AndroidX kollidieren und EDM4U kann sie nicht lösen.
Beispiel unten:
implementation 'com.android.support:appcompat-v7:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
implementation 'com.android.support:cardview-v7:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
implementation 'com.android.support:cardview-v7:26.0.2' // Assets/Packages/XXX.CustomerSupport/Helpshift/Editor/HelpshiftDependencies.xml:9
Facebook hat cardview hinzugefügt und ein weiteres lokales Plugin hat es ebenfalls hinzugefügt. Jetifier scheint nichts zu tun.
Der von OneSignal vorgeschlagene Fix behebt dieses Problem ebenfalls nicht.
Ja, ich habe darauf zurückgegriffen, meine eigene benutzerdefinierte Version der Facebook.Unity.Editor.dll zu erstellen, damit die widersprüchlichen Implementierungen nicht injiziert werden.
Aber wow, es war nicht einfach das Facebook SDK zu bauen... aber am Ende hat es geklappt :)
Ich habe mit dem gleichen Problem zu kämpfen, aber die duplizierte Klasse ist anders:
java.lang.RuntimeException: Duplicate class androidx.vectordrawable.graphics.drawable.Animatable2Compat found in modules classes.jar (:vectordrawable-animated-1.0.0:) and classes.jar (androidx.vectordrawable:vectordrawable-animated:1.1.0)
Facebook scheint diese Bibliothek nicht zu importieren.
Ich habe Jetifier-Tricks ausprobiert, ich habe versucht, mainTemplate.gradle zu erstellen, einschließlich Androidx-Gegenstücken von Legacy-Bibliotheken, sogar einschließlich vektorzeichnungsfähiger Bibliotheken, aber immer noch erhalte ich immer den gleichen Fehler.
mainTemplate.gradle sieht so aus:
// Android Resolver Repos Start
([rootProject] + (rootProject.subprojects as List)).each {
ext {
it.setProperty("android.useAndroidX", true)
it.setProperty("android.enableJetifier", true)
}
}
([rootProject] + (rootProject.subprojects as List)).each { project ->
project.repositories {
def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\\", "/")
maven {
url "https://maven.google.com"
}
maven {
url (unityProjectPath + "/Assets/GeneratedLocalRepo/Firebase/m2repository") // Assets/Firebase/Editor/AnalyticsDependencies.xml:18, Assets/Firebase/Editor/AppDependencies.xml:22, Assets/Firebase/Editor/AuthDependencies.xml:20, Assets/Firebase/Editor/MessagingDependencies.xml:20
}
mavenLocal()
jcenter()
mavenCentral()
}
}
// Android Resolver Repos End
apply plugin: 'com.android.library'
**APPLY_PLUGINS**
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
// Android Resolver Dependencies Start
//implementation 'com.android.support:appcompat-v7:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
//implementation 'com.android.support:cardview-v7:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
//implementation 'com.android.support:customtabs:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
//implementation 'com.android.support:support-v4:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
//implementation 'com.android.support:support-v4:27.1+' // Assets/Editor/VoxelBusters/NativePlugins/NPDependencies.xml:6
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.browser:browser:1.0.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.vectordrawable:vectordrawable-animated:1.0.0'
implementation 'com.facebook.android:facebook-applinks:[8.0, 9)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:6
implementation 'com.facebook.android:facebook-core:[8.0, 9)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:5
implementation 'com.facebook.android:facebook-gamingservices:[8.0, 9)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:9
implementation 'com.facebook.android:facebook-login:[8.0, 9)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:7
implementation 'com.facebook.android:facebook-share:[8.0, 9)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:8
implementation 'com.google.android.gms:play-services-base:17.4.0' // Assets/Firebase/Editor/AppDependencies.xml:17
implementation 'com.google.firebase:firebase-analytics:17.5.0' // Assets/Firebase/Editor/MessagingDependencies.xml:15
implementation 'com.google.firebase:firebase-analytics-unity:6.16.0' // Assets/Firebase/Editor/AnalyticsDependencies.xml:18
implementation 'com.google.firebase:firebase-app-unity:6.16.0' // Assets/Firebase/Editor/AppDependencies.xml:22
implementation 'com.google.firebase:firebase-auth:19.3.2' // Assets/Firebase/Editor/AuthDependencies.xml:13
implementation 'com.google.firebase:firebase-auth-unity:6.16.0' // Assets/Firebase/Editor/AuthDependencies.xml:20
implementation 'com.google.firebase:firebase-common:19.3.1' // Assets/Firebase/Editor/AppDependencies.xml:13
implementation 'com.google.firebase:firebase-messaging:20.2.4' // Assets/Firebase/Editor/MessagingDependencies.xml:13
implementation 'com.google.firebase:firebase-messaging-unity:6.16.0' // Assets/Firebase/Editor/MessagingDependencies.xml:20
implementation 'com.parse.bolts:bolts-android:1.4.0' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:4
// Android Resolver Dependencies End
**DEPS**}
// Android Resolver Exclusions Start
android {
packagingOptions {
exclude ('/lib/armeabi/*' + '*')
exclude ('/lib/mips/*' + '*')
exclude ('/lib/mips64/*' + '*')
exclude ('/lib/x86/*' + '*')
exclude ('/lib/x86_64/*' + '*')
}
}
// Android Resolver Exclusions End
android {
compileSdkVersion **APIVERSION**
buildToolsVersion '**BUILDTOOLS**'
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
defaultConfig {
minSdkVersion **MINSDKVERSION**
targetSdkVersion **TARGETSDKVERSION**
ndk {
abiFilters **ABIFILTERS**
}
versionCode **VERSIONCODE**
versionName '**VERSIONNAME**'
consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD**
}
lintOptions {
abortOnError false
}
aaptOptions {
ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
}**PACKAGING_OPTIONS**
}**REPOSITORIES****SOURCE_BUILD_SETUP**
**EXTERNAL_SOURCES**
Andere Ideen, was getan werden kann? Ich habe im Grunde genommen gerade Facebook SDK zu meinem Projekt hinzugefügt und diesen Fehler von Anfang an erhalten.
Ich habe den neuesten Jar-Resolver, Facebook-SDK und Firebase-SDK.
Ich verwende immer noch dieselbe Methode, die ich oben vorgeschlagen habe (Gott segne Gradle-Eigenschaften) und hatte seitdem nie Probleme. Das einzige, was sich geändert hat, ist, dass ich das Android SDK von Unity nicht mehr verwendet und es selbst heruntergeladen und den Pfad dazu geändert habe, um zu sein in der Lage, das Ziel auf API 30 etwas friedlicher zu setzen. Das sollte aber nicht viel bewirken. Die Hauptsache ist, dass die EDM-Einstellungen Jetifier, mainTemplate-Patching und die Auflösung erzwingen, bevor Sie sie erstellen (wenn Sie es vorziehen, keine automatische Auflösung wie ich zu verwenden). In den Veröffentlichungseinstellungen verwende ich benutzerdefinierte Gradle-Eigenschaften, Hauptvorlage, benutzerdefiniertes Android-Manifest (ich berühre die Hauptvorlage oder das Android-Manifest nicht mehr wirklich, ich lasse sie von edm- und Facebook-Menübearbeitungseinstellungen "Android-Manifest neu generieren" füllen Duplizierter Klassenfehler mit all dem, was getan wird, dann haben Sie wahrscheinlich zusätzliche in Ihrem Projekt, die Sie entfernen sollten.Wenn Sie zum Beispiel Adjust verwenden, können Sie den Installations-Referrer auflösen und immer noch einen weiteren in Ihrem Projekt-Plugins-Ordner haben, den Sie löschen sollten. Aber ja, die meiste Zeit, wenn Sie die Einstellungen verwenden, die ich vorgeschlagen habe, werden all diese Probleme einfach ... verschwinden.
TL;DR: Vorlage für benutzerdefinierte Gradle-Eigenschaften und fügen Sie hinzu:
android.useAndroidX=true
android.enableJetifier=true
Benutzerdefinierte Hauptvorlage, EDM4U patchen lassen, Jetifier an, Auflösung vor Build erzwingen
Benutzerdefiniertes Hauptmanifest, lassen Sie Facebook Manifest über das Menü Einstellungen bearbeiten und stellen Sie sicher, dass dort keine Fehler wie PATH oder was auch immer nerviges Facebook hat
Ich verspreche Ihnen, dass Sie mit einer Million SDKs bauen können, wie ich es täglich tue, und ich bin nur ein zufälliger Junior-Spieleentwickler, der dieses Zeug ein bisschen zu viel durchgemacht und auf Android Studio zurückgegriffen hat, bis benutzerdefinierte Gradle-Eigenschaften herauskamen
Okay, endlich habe ich ein Problem gefunden - ich hatte eine vektorziehbare AAR-Datei, die in Dateien herumschwirrte - dies hat das Problem verursacht. Ich bin mir nicht sicher, welche Bibliothek sie kopiert hat, aber ich habe diese Datei entfernt und alle Fehler sind verschwunden. Danke trotzdem für die Hinweise :)
Hilfreichster Kommentar
Ich habe es in zwei Schritten für Unity 2019.3.11f1 gelöst :
Edit
->Project Settings
->Player
->Publishing settings
-> KreuzeCustom Properties Gradle Template
gradleTemplate.properties
und fügen Sie diese Zeilen oben hinzu:```Eigenschaften
android.useAndroidX=true
android.enableJetifier=true