2019.3.0f6
7.18.0
dan 7.18.1
[Android]
versi any
Bangun proyek
Proyek berhasil dibangun
Proyek gagal dibangun dengan output berikut:
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.
ATAU
Jika saya membangun hanya dengan Facebook SDK, itu berfungsi.
Jika saya membangun hanya dengan Firebase SDK, itu berfungsi.
Jika saya membangun dengan SDK Facebook dan SDK Firebase, itu gagal.
Saya membuat proyek Repro mengikuti langkah-langkah yang saya sebutkan sebelumnya.
https://drive.google.com/file/d/1ngzavtEftODND1EpRyNchq3qClpyXl0C/view?usp=sharing
HI @KylinChang , apakah ada pembaruan tentang ini?
Kami tidak dapat membangun proyek di Unity 2019.3.
Di Android karena masalah ini, dan di iOS, karena #359.
Hai @mcrvaz , bisakah kamu mencoba v7.18.1?
Menghadapi masalah yang sama dengan Facebook SDK v7.18.1 juga.
Menghadapi masalah yang sama dengan Facebook SDK v7.18.1. Game kami tidak dapat dibangun sekarang. Penonaktifan sementara Firebase atau Facebook.
@kashiftasneempro apakah Anda menghapus plugin lama terlebih dahulu?
@kashiftasneempro apakah Anda menghapus plugin lama terlebih dahulu?
Ya saya lakukan.
Saya mengalami masalah yang sama, apakah ada yang membuat kemajuan dalam hal ini? Sepertinya konflik perpustakaan dukungan vs androidx?
Sebenarnya: Saya belum menguji ini sepenuhnya, tetapi menghapus
implementation(name: 'com.android.support.support-compat-27.0.2', ext:'aar')
Dari build.gradle membuat saya membangun apk lagi. Akan melakukan beberapa pengujian untuk melihat apakah ada yang rusak.
Pembaruan 1: Sepertinya semuanya berfungsi di pihak saya, Facebook masih berfungsi dan saya mendapatkan inisialisasi token Firebase dengan benar.
Pembaruan 2: Saya lupa menyebutkan bahwa saya juga harus menghapus baris di file Firebase AndroidManifest yang menggunakan-sdk ... 14
Saat menghapus dua baris itu, semuanya berfungsi dengan baik. saya sudah dapat menguji semua yang terkait dengan kasus penggunaan saya. Semoga ini membantu orang lain.
Sebenarnya: Saya belum menguji ini sepenuhnya, tetapi menghapus
implementation(name: 'com.android.support.support-compat-27.0.2', ext:'aar')
Dari build.gradle membuat saya membangun apk lagi. Akan melakukan beberapa pengujian untuk melihat apakah ada yang rusak.
Pembaruan 1: Sepertinya semuanya berfungsi di pihak saya, Facebook masih berfungsi dan saya mendapatkan inisialisasi token Firebase dengan benar.
Pembaruan 2: Saya lupa menyebutkan bahwa saya juga harus menghapus baris di file Firebase AndroidManifest yang menggunakan-sdk ... 14
Saat menghapus dua baris itu, semuanya berfungsi dengan baik. saya sudah dapat menguji semua yang terkait dengan kasus penggunaan saya. Semoga ini membantu orang lain.
Apakah Anda bekerja di Unity?
Unity memiliki mainTemplate.gradle bukan build.gradle.
Ya ini Unity, alih-alih membangun apk/aab dari editor, saya mengekspor ke Android Studio sehingga saya dapat bekerja melalui dependensi. Ini sangat membantu ketika men-debug hal-hal seperti ini.
Hai @ncinoadam , modul Firebase mana yang Anda gunakan? Hanya push notifikasi?
@ncinoadam @kashiftasneempro Saya berhasil menyelesaikan ini dengan mengaktifkan Jetifier dan memodifikasi file mainTemplate.gradle seperti ini:
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
...
Hai @ncinoadam , modul Firebase mana yang Anda gunakan? Hanya push notifikasi?
Saat ini saya hanya menggunakan modul Messaging, tetapi tidak akan sulit untuk mengetahui konflik dan memperbaikinya untuk orang lain juga.
Masalahnya dapat diselesaikan dengan mengekspor proyek dan membangun dengan Android Studio, kemudian bermigrasi dengan AndroidX dengan mengganti dependensi yang hampir lama mengikuti @hex yang disebutkan. Tapi itu bukan cara yang seharusnya, konflik sekarang terjadi di sekitar paket masih menggunakan dependensi lama sementara AndroidX diaktifkan setelah Force Resolve, jadi harap ada perbaikan yang tersedia atau cara resmi untuk membangun tanpa mengekspor proyek.
Sebenarnya: Saya belum menguji ini sepenuhnya, tetapi menghapus
implementation(name: 'com.android.support.support-compat-27.0.2', ext:'aar')
Dari build.gradle membuat saya membangun apk lagi. Akan melakukan beberapa pengujian untuk melihat apakah ada yang rusak.
Pembaruan 1: Sepertinya semuanya berfungsi di pihak saya, Facebook masih berfungsi dan saya mendapatkan inisialisasi token Firebase dengan benar.
Pembaruan 2: Saya lupa menyebutkan bahwa saya juga harus menghapus baris di file Firebase AndroidManifest yang menggunakan-sdk ... 14
Saat menghapus dua baris itu, semuanya berfungsi dengan baik. saya sudah dapat menguji semua yang terkait dengan kasus penggunaan saya. Semoga ini membantu orang lain.
Terima kasih @ncinoadam , ini berhasil bagi saya menggunakan modul analitik.
Saya setuju dengan @GunLengend , ini adalah peretasan untuk mengacaukan file di Android Studio dan itu harus ditangani di dalam Unity tanpa perlu mengekspor setiap kali Anda ingin membangun
EDIT: Saya juga ingin menyebutkan bahwa masalah ini tidak ada hubungannya dengan SDK Facebook karena saya tidak memilikinya di proyek saya. Saya membuka masalah di sini ( https://github.com/firebase/quickstart-unity/issues/607) karena saya memiliki output log Unity yang hampir sama dan memperbaiki masalah dengan apa yang disebutkan @ncinoadam , jadi ini sepertinya lebih dari hal Firebase
Apa yang saya pertimbangkan saat ini bukan hanya masalah Facebook dan Firebase, tetapi juga milik Unity itu sendiri. Karena enableJetifier dan useAndroidX diaktifkan di file Unity mainTemplate.gradle tetapi ketika Unity memulai proses build, Jetifier tidak melakukan tugasnya, seharusnya memigrasikan semua dependensi lama untuk memaksa penggunaan AndroidX, tetapi ternyata tidak, dan Android Studio bisa melakukan trik itu.
Apa yang saya pertimbangkan saat ini bukan hanya masalah Facebook dan Firebase, tetapi juga milik Unity itu sendiri. Karena enableJetifier dan useAndroidX diaktifkan di file Unity mainTemplate.gradle tetapi ketika Unity memulai proses build, Jetifier tidak melakukan tugasnya, seharusnya memigrasikan semua dependensi lama untuk memaksa penggunaan AndroidX, tetapi ternyata tidak, dan Android Studio bisa melakukan trik itu.
Setelah memutakhirkan ke versi terbaru Unity, Facebook SDK, Firebase SDK, semua masalah build Android telah hilang. Sekarang saya berjuang dengan iOS di Xcode, tetapi tidak terkait dengan SDK ini.
EDIT: Ini bisa jadi karena saya mengaktifkan Firebase Analytics sebelumnya dan sekarang tidak. Saya tidak menggunakan Facebook SDK ketika saya pertama kali mendapatkan masalah, itu adalah masalah dengan Mapbox SDK yang dan tampaknya mereka mendistribusikan kembali perpustakaan Java alih-alih memperbarui ke resolver Android. Saya menyingkirkan Mapbox dan mulai menggunakan peta Google, sangat bagus di sana, tetapi kemudian saya memperkenalkan versi SDK Facebook yang lebih lama karena dokumentasi salah satu aset saya meminta versi yang lebih lama dan saya memiliki beberapa kelas duplikat saat memperkenalkannya. Jadi saya mendapatkan SDK Facebook baru dan saya harus menyesuaikan kode di aset yang memerlukan versi yang lebih lama. Saat ini saya hanya memiliki Firebase Authentication yang berfungsi, tetapi tampaknya masih menggunakan androidx.core.core-1.0.0 dan di situlah sebagian besar kelas duplikat untuk saya. Semoga ini membantu
Saya memiliki konflik yang sama saat menambahkan FB ke proyek saya di mana saya memiliki AdMob
Atribut application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) dari [com.android. support:support-compat :28.0.0] AndroidManifest. xml:22 :18-91
Setelah menambahkan disarankan
tools:replace="android:appComponentFactory" android:appComponentFactory="whateverString"
saya mendapatkan
java.lang.RuntimeException: Duplikat class android.support.customtabs.ICustomTabsCallback ditemukan di modul class.jar (androidx.browser:browser:1.0.0) dan class.jar (com.android.support:customtabs:28.0.0)
Dan banyak lagi...
Saya memiliki versi terbaru dari semua SDK dan Unity.
Saya tidak tahu mengapa Anda memberi saya jempol ke bawah dan lebih jauh lagi mengapa saya ingin membantu Anda setelah melakukannya, tetapi saya sarankan Anda menghapus com.android. support:customtabs :28.0.0, biasanya disimpan di Assets/Plugins/Android/ dan lihat apakah itu memperbaiki masalah Anda.
Masalahnya adalah saya menggunakan mainTemplate.gradle
alih-alih memiliki banyak lib di folder Aset/Plugin/Android/. (memiliki ruang terbatas dalam repositori).
Saya menghapus semua implementation 'com.android.support.XXXX'
darinya dan masih memiliki masalah yang sama.
Anda mendapat jempol karena solusi Anda bukan untuk saya, Ketika Admin membaca posting seperti milik Anda, Dia dapat menutup masalah ini karena dia akan menganggap bahwa semuanya sudah selesai, padahal BUKAN.
Saya mendukung banyak proyek dan solusi seperti: Export to Android Studio
atau remove library
with is not existing in my project is not a solution.
Selamat ya bun
Apa yang saya pertimbangkan saat ini bukan hanya masalah Facebook dan Firebase, tetapi juga milik Unity itu sendiri. Karena enableJetifier dan useAndroidX diaktifkan di file Unity mainTemplate.gradle tetapi ketika Unity memulai proses build, Jetifier tidak melakukan tugasnya, seharusnya memigrasikan semua dependensi lama untuk memaksa penggunaan AndroidX, tetapi ternyata tidak, dan Android Studio bisa melakukan trik itu.
Masalahnya adalah masalah Google/Unity dan masalah Facebook. Facebook perlu memutakhirkan SDK mereka untuk menggunakan AndroidX, murni dan sederhana dan masalah ini hilang. Google/Unity telah mengembangkan versi Jetifier mereka sendiri yang berjalan dalam Unity untuk menambal masalah sampai perusahaan seperti Facebook memperbaikinya, tetapi Unity's Jetifier tidak bekerja dengan SDK Facebook!
Untungnya, Jetifier Android Studio berfungsi dengan baik... dan itu benar-benar satu-satunya solusi untuk menjalankan game Unity dengan Facebook SDK dan perpustakaan lain yang menggunakan AndroidX.
Saya memiliki masalah yang sama dan beralih ke v7.19.2 dari V7.16 yang memperbaiki masalah untuk saya.
@LunarInteractiveArts Saya mencoba 7.19.2 tapi sayangnya tidak berhasil.
Namun, ada solusi yang diposting pada bug ini: https://github.com/googlesamples/unity-jar-resolver/issues/360 yang berfungsi!
@ doom-goober saya memang mencoba ini dan tidak berhasil atau saya.
Kode terlihat mirip dengan apa yang dihasilkan oleh resolver dependensi Google:
Sepertinya saya telah menemukan perbaikannya di bagian bantuan OneSignal. Perbaiki adalah untuk Unity ofc. https://documentation.onesignal.com/docs/troubleshooting-unity#section -android-x-compatibility
Saya menyelesaikannya dalam dua langkah untuk Unity 2019.3.11f1 :
Edit
-> Project Settings
-> Player
-> Publishing settings
->Centang Custom Properties Gradle Template
gradleTemplate.properties
dan tambahkan baris ini ke atas:Di Unity 2019.2.21, kesalahan kelas duplikat masih ada bahkan dengan jetfiier diaktifkan seperti di bawah ini
([rootProject] + (rootProject.subprojects sebagai Daftar)).setiap {
ext {
it.setProperty("android.useAndroidX", benar)
it.setProperty("android.enableJetifier", benar)
}
}
@jackatfp Apakah Anda mencoba solusi @gromilQaaaa ? Berikut tautan langsung ke bagian dokumen yang membuat build saya berfungsi kembali dari Unity:
https://documentation.onesignal.com/docs/troubleshooting-unity#unity -20193-or-newer
Ini adalah bagian di mana Anda harus menambahkan file bernama Assets/Plugins/Android/settingsTemplate.gradle.
Masalah ini membuat saya frustrasi tanpa akhir dan saya memutuskan untuk membangun dari Android Studio. Hanya solusi ini yang bekerja secara konsisten untuk saya (saya pikir yang sebelumnya berfungsi tetapi berhenti bekerja untuk saya ketika saya menambahkan beberapa plugin lain kembali ke proyek saya.) Dan secara logis itu masuk akal: Sistem gradle jelas tidak mengambil jetifier dari Prosesor dan pengaturan pasca Unity tetapi jelas jetifier berfungsi karena berfungsi di Android Studio yang menggunakan gradle. Jadi, solusi yang berbasis gradle tampaknya masuk akal.
Bagaimanapun itu berhasil untuk saya dan saya sangat kesal dan senang menemukan solusi, saya harap ini berhasil untuk Anda. Ayo cobalah! Semoga berhasil.
Anda benar bahwa itu tidak mengambil jetifier dalam kasus itu, tetapi Anda tidak perlu menggunakan solusi OneSignal lagi.
Menggunakan versi resmi 2019.3 terbaru (milik saya adalah 2019.3.12f1 atm), Anda cukup menggunakan Custom Gradle Properties Template di atas Main Gradle Template, dan tambahkan:
android.useAndroidX=true
android.enableJetifier=true
ke file gradleTemplate.properties yang baru dibuat.
Saya telah mengekspor ke Android studio untuk membangun dengan semua SDK yang diinginkan penerbit saya dan bekerja melalui kesengsaraan kesalahan build Android sejak itu, sebagai pengembang junior saya pikir saya mengalami setiap masalah, tetapi sekarang saya akhirnya dapat membangun dari dalam Unity. Jetifier tidak bekerja dengan SDK Facebook dengan benar kecuali di Android studio, jadi jika Anda menggunakan cukup banyak plugin yang dimigrasikan ke AndroidX, akan sulit untuk membangun dari dalam Unity tanpa beberapa perubahan peretasan.
Saya juga biasanya harus mengubah Plugins/Android/AndroidManifest.xml untuk memiliki ini di tag aplikasi:
tools:replace="android:appComponentFactory" android:appComponentFactory="leavemealone"
juga xmlns:tools="http://schemas.android.com/tools"
dalam tag manifes
Ya, ini adalah string acak karena saya tidak yakin apa tujuannya, tetapi ini berfungsi dan memperbaiki kesalahan build merger manifes saya, oh well.
Saya sekarang dapat membangun dengan Ironsource (banyak adaptor dengan itu), Facebook SDK, GameAnalytics, Adjust, Firebase, apa pun. Pada dasarnya dapatkan Unity Jar Resolver terbaru, periksa pengaturan hapus penyelesaian otomatis, hapus penyelesaian pada build, setel patch maintemplate dan gunakan jetifier menjadi true, paksa penyelesaian, tambahkan dependensi/repos tambahan yang Anda inginkan, lakukan trik gradleproperties, bangun di dalam Unity, selesai .
@doom-goober ya, kami mencoba semuanya termasuk solusi yang Anda sebutkan tetapi masih tidak berhasil
@doom-goober ya, kami mencoba semuanya termasuk solusi yang Anda sebutkan tetapi masih tidak berhasil
Apakah Anda mencoba opsi @ruslanmamonov ?
Ini juga terjadi pada saya. Saya telah mencoba semua solusi di atas tanpa hasil. SDK Facebook menyuntikkan dependensi lama yang berbenturan dengan androidX dan EDM4U tidak dapat menyelesaikannya.
Contoh di bawah ini:
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 menambahkan tampilan kartu dan plugin lokal lainnya juga menambahkannya. Jetifier tampaknya tidak melakukan apa-apa.
Perbaikan yang disarankan oleh OneSignal juga tidak menyelesaikan masalah ini.
Ya, saya terpaksa membuat versi kustom saya sendiri dari Facebook.Unity.Editor.dll sehingga tidak menyuntikkan implementasi yang bertentangan.
Tapi wow, itu tidak mudah untuk membangun SDK facebook ... tetapi berhasil pada akhirnya :)
Saya berjuang dengan masalah yang sama, namun kelas yang digandakan berbeda:
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 tampaknya tidak mengimpor perpustakaan ini.
Saya sudah mencoba trik jetifier, saya sudah mencoba membuat mainTemplate.gradle, termasuk rekanan androidx dari perpustakaan lawas, bahkan termasuk perpustakaan vectordrawable, namun saya masih selalu mendapatkan kesalahan yang sama.
mainTemplate.gradle terlihat seperti ini:
// 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**
Ide lain apa yang bisa dilakukan? Saya pada dasarnya baru saja menambahkan facebook SDK ke proyek saya dan mendapatkan kesalahan ini sejak awal.
Saya memiliki penyelesai jar terbaru, facebook sdk dan firebase sdk.
Saya masih menggunakan metode yang sama yang saya sarankan di atas (god bless gradle properties) dan tidak pernah mengalami masalah sejak itu, satu-satunya hal yang berubah adalah saya berhenti menggunakan SDK Android Unity dan mengunduhnya sendiri dan mengubah jalurnya sesuai keinginan, menjadi dapat mengatur target ke api 30 sedikit lebih damai. Itu seharusnya tidak banyak mempengaruhi. Hal utama adalah memiliki pengaturan EDM menggunakan jetifier, patch mainTemplate, dan penyelesaian paksa sebelum Anda membangun (jika Anda memilih untuk tidak memiliki penyelesaian otomatis seperti saya). Dalam pengaturan penerbitan saya menggunakan properti gradle khusus, templat utama, manifes Android khusus (saya tidak terlalu menyentuh templat utama atau manifes Android lagi, saya membiarkannya diisi oleh edm dan pengaturan edit menu facebook '"regenerasi manifes Android". Jika Anda mendapatkannya duplikat kesalahan kelas dengan semua yang sedang dilakukan, maka Anda mungkin memiliki yang tambahan di proyek Anda yang harus Anda hapus.Jika menggunakan Adjust misalnya, Anda mungkin menyelesaikan pengarah instal dan masih memiliki yang lain di folder Plugin proyek Anda yang harus Anda hapus, tapi ya, sebagian besar waktu jika Anda menggunakan pengaturan saya menyarankan semua masalah ini cukup .. memudar.
TL;DR: Template Properti Gradle Kustom, dan tambahkan:
android.useAndroidX=true
android.enableJetifier=true
Templat Utama Kustom, biarkan EDM4U menambalnya, Jetifier aktif, Paksa penyelesaian sebelum membangun
Custom Main Manifest, biarkan Facebook Regenerate Manifest dari menu Edit Setting thingy, juga pastikan tidak ada kesalahan seperti PATH atau hal menjengkelkan apa pun yang dimiliki facebook
Saya berjanji Anda dapat membangun dengan sejuta SDK seperti yang saya lakukan setiap hari, dan saya hanya pengembang game junior acak yang terlalu banyak melakukan hal ini dan menggunakan Android Studio sampai properti gradle khusus keluar
Oke, jadi akhirnya saya menemukan masalah - saya memiliki file aar vectordrawable yang mengambang di file - ini yang menyebabkan masalah. Tidak yakin perpustakaan mana yang menyalinnya, tetapi saya telah menghapus file ini dan semua kesalahan hilang. Terima kasih atas petunjuknya :)
Komentar yang paling membantu
Saya menyelesaikannya dalam dua langkah untuk Unity 2019.3.11f1 :
Edit
->Project Settings
->Player
->Publishing settings
->CentangCustom Properties Gradle Template
gradleTemplate.properties
dan tambahkan baris ini ke atas:```properti
android.useAndroidX=true
android.enableJetifier=benar