2019.3.0f6
7.18.0
ããã³7.18.1
[Android]
ããŒãžã§ã³any
ãããžã§ã¯ããæ§ç¯ãã
ãããžã§ã¯ãã¯æ£åžžã«ãã«ããããŸãã
ãããžã§ã¯ãã¯ãã«ãã«å€±æãã次ã®åºåã衚瀺ãããŸãã
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.
ãŸãã¯
Facebook SDK ã ãã§ãã«ããããšåäœããŸãã
Firebase SDK ã ãã§ãã«ããããšåäœããŸãã
Facebook SDK ãš Firebase SDK ã®äž¡æ¹ã§ãã«ããããšå€±æããŸãã
åè¿°ã®æé ã«åŸã£ãŠãRepro ãããžã§ã¯ããäœæããŸããã
https://drive.google.com/file/d/1ngzavtEftODND1EpRyNchq3qClpyXl0C/view?usp=sharing
ããã«ã¡ã¯@KylinChang ãããã«é¢ããæŽæ°ã¯ãããŸãã?
Unity 2019.3 ã§ã¯ãããžã§ã¯ãããã«ãã§ããŸããã
Android ã§ã¯ãã®åé¡ãiOS ã§ã¯ #359 ã®ããã§ãã
@mcrvaz ããã
Facebook SDK v7.18.1 ã§ãåãåé¡ã«çŽé¢ããŠããŸãã
Facebook SDK v7.18.1 ã§ãåãåé¡ã«çŽé¢ããŠããŸãã ç§ãã¡ã®ã²ãŒã ã¯çŸåšãã«ãã§ããŸããã Firebase ãŸã㯠Facebook ãäžæçã«ç¡å¹ã«ããŸãã
@kashiftasneemproæåã«å€ããã©ã°ã€ã³ãåé€ããŸããã?
@kashiftasneemproæåã«å€ããã©ã°ã€ã³ãåé€ããŸããã?
ã¯ããããŸããã
ç§ã¯åãåé¡ã«çŽé¢ããŠããŸããã誰ããããã«ã€ããŠé²æ©ããŠããŸãã? androidx ãšãµããŒã ã©ã€ãã©ãªã®ç«¶åã®ããã§ãã?
å®é: ãŸã å®å šã«ã¯ãã¹ãããŠããŸããããåé€ããŠããŸã
implementation(name: 'com.android.support.support-compat-27.0.2', ext:'aar')
build.gradle ãããapk ãå床ãã«ãããŸãã ãã ããäœããå£ããŠãããã©ããã確èªããããã«ããã€ãã®ãã¹ããè¡ããŸãã
æŽæ° 1: åé¡ã¯è§£æ±ºããŠããããã§ããFacebook ã¯åŒãç¶ãæ©èœããFirebase ããã·ã¥ ããŒã¯ã³ã®åæåãæ£ããè¡ã£ãŠããŸãã
æŽæ° 2: Firebase AndroidManifest ãã¡ã€ã«ã® uses-sdk ... 14 ã®è¡ãåé€ããå¿
èŠãããããšãèšåããã®ãå¿ããŠããŸããã
ãããã® 2 è¡ãåé€ãããšããã¹ãŠãããŸãæ©èœããŸãã ãŠãŒã¹ã±ãŒã¹ã«é¢é£ãããã¹ãŠããã¹ãã§ããŸããã ããŸãããã°ãããã¯ä»ã®äººã«åœ¹ç«ã¡ãŸãã
å®é: ãŸã å®å šã«ã¯ãã¹ãããŠããŸããããåé€ããŠããŸã
implementation(name: 'com.android.support.support-compat-27.0.2', ext:'aar')
build.gradle ãããapk ãå床ãã«ãããŸãã ãã ããäœããå£ããŠãããã©ããã確èªããããã«ããã€ãã®ãã¹ããè¡ããŸãã
æŽæ° 1: åé¡ã¯è§£æ±ºããŠããããã§ããFacebook ã¯åŒãç¶ãæ©èœããFirebase ããã·ã¥ ããŒã¯ã³ã®åæåãæ£ããè¡ã£ãŠããŸãã
æŽæ° 2: Firebase AndroidManifest ãã¡ã€ã«ã® uses-sdk ... 14 ã®è¡ãåé€ããå¿ èŠãããããšãèšåããã®ãå¿ããŠããŸããã
ãããã® 2 è¡ãåé€ãããšããã¹ãŠãããŸãæ©èœããŸãã ãŠãŒã¹ã±ãŒã¹ã«é¢é£ãããã¹ãŠããã¹ãã§ããŸããã ããŸãããã°ãããã¯ä»ã®äººã«åœ¹ç«ã¡ãŸãã
Unity ã§äœæ¥ããŠããŸãã?
Unity ã«ã¯ãbuild.gradle ã§ã¯ãªã mainTemplate.gradle ããããŸãã
ã¯ãããã㯠Unity ã§ãããšãã£ã¿ãã apk/aab ããã«ããã代ããã«ãAndroid Studio ã«ãšã¯ã¹ããŒãããŠãäŸåé¢ä¿ãåŠçã§ããããã«ããŸãã ãã®ãããªãã®ããããã°ãããšãã«éåžžã«åœ¹ç«ã¡ãŸãã
ããã«ã¡ã¯@ncinoadam ãã©ã® Firebase ã¢ãžã¥ãŒã«ã䜿çšããŠããŸãã? ããã·ã¥éç¥ã ãïŒ
@ncinoadam @kashiftasneempro Jetifierãæå¹ã«ã㊠mainTemplate.gradle ãã¡ã€ã«ã次ã®ããã«å€æŽããããšã§ãããã解決ã§ããŸããã
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
...
ããã«ã¡ã¯@ncinoadam ãã©ã® Firebase ã¢ãžã¥ãŒã«ã䜿çšããŠããŸãã? ããã·ã¥éç¥ã ãïŒ
ç§ã¯çŸåšãã¡ãã»ãŒãžã³ã° ã¢ãžã¥ãŒã«ã䜿çšããŠããã ãã§ããã競åãèŠã€ããŠä»ã®äººã®ããã«ä¿®æ£ããã®ã¯é£ãããããŸããã
ãã®åé¡ã¯ããããžã§ã¯ãããšã¯ã¹ããŒãã㊠Android Studio ã§ãã«ãããŠãããåè¿°ã®@hex ã«ç¶ãã»ãŒå€ãäŸåé¢ä¿ã眮ãæããããšã§ AndroidX ã«ç§»è¡ããããšã§è§£æ±ºã§ããŸãã ããããããã¯æ³å®ãããæ¹æ³ã§ã¯ãããŸãã.Force ResolveåŸã«AndroidXãæå¹ã«ãªã£ãŠããéã競åã¯å€ãäŸåé¢ä¿ã䜿çšããŠããããã±ãŒãžãåé¿ããŸã.
å®é: ãŸã å®å šã«ã¯ãã¹ãããŠããŸããããåé€ããŠããŸã
implementation(name: 'com.android.support.support-compat-27.0.2', ext:'aar')
build.gradle ãããapk ãå床ãã«ãããŸãã ãã ããäœããå£ããŠãããã©ããã確èªããããã«ããã€ãã®ãã¹ããè¡ããŸãã
æŽæ° 1: åé¡ã¯è§£æ±ºããŠããããã§ããFacebook ã¯åŒãç¶ãæ©èœããFirebase ããã·ã¥ ããŒã¯ã³ã®åæåãæ£ããè¡ã£ãŠããŸãã
æŽæ° 2: Firebase AndroidManifest ãã¡ã€ã«ã® uses-sdk ... 14 ã®è¡ãåé€ããå¿ èŠãããããšãèšåããã®ãå¿ããŠããŸããã
ãããã® 2 è¡ãåé€ãããšããã¹ãŠãããŸãæ©èœããŸãã ãŠãŒã¹ã±ãŒã¹ã«é¢é£ãããã¹ãŠããã¹ãã§ããŸããã ããŸãããã°ãããã¯ä»ã®äººã«åœ¹ç«ã¡ãŸãã
@ncinoadamã«æè¬ããŸããããã¯åæã¢ãžã¥ãŒã«ã䜿çšããŠ
@GunLengendã«åæããŸããAndroid Studio ã§ãã¡ã€ã«ããããå¿ èŠãããã®ã¯ããã¯ã§ããããã«ããããã³ã«ãšã¯ã¹ããŒãããå¿ èŠãªããUnity å ã§åŠçããå¿ èŠããããŸã
ç·šé:ãã®åé¡ã¯ãç§ã®ãããžã§ã¯ãã«ã¯ãªããããFacebook SDK ãšã¯é¢ä¿ããªãããšã«ãèšåããããšæããŸãã ç§ã¯ããã§åé¡ãéããŸãã (https://github.com/firebase/quickstart-unity/issues/607) ãšã»ãŒåã Unity ãã°åºåãããã @ncinoadam ãèšåããåé¡ãä¿®æ£ãããããããã¯ããå€ãã®ããã§ãFirebase ã®ããš
ç§ãä»èããŠããããšã¯ãFacebook ãš Firebase ã®åé¡ã ãã§ãªããUnity èªäœã«ãå±ããŠããå¯èœæ§ããããŸãã enableJetifier ãš useAndroidX 㯠Unity mainTemplate.gradle ãã¡ã€ã«ã§æå¹ã«ãªã£ãŠããŸããããUnity ããã«ã ããã»ã¹ãéå§ãããšãJetifier ã¯ãã®ä»äºãããŸããããã®ããªãã¯ãè¡ãããšãã§ããŸãã
ç§ãä»èããŠããããšã¯ãFacebook ãš Firebase ã®åé¡ã ãã§ãªããUnity èªäœã«ãå±ããŠããå¯èœæ§ããããŸãã enableJetifier ãš useAndroidX 㯠Unity mainTemplate.gradle ãã¡ã€ã«ã§æå¹ã«ãªã£ãŠããŸããããUnity ããã«ã ããã»ã¹ãéå§ãããšãJetifier ã¯ãã®ä»äºãããŸããããã®ããªãã¯ãè¡ãããšãã§ããŸãã
UnityãFacebook SDKãFirebase SDK ã®ææ°ããŒãžã§ã³ã«ã¢ããã°ã¬ãŒãããåŸãAndroid ãã«ãã®åé¡ã¯ãã¹ãŠè§£æ¶ãããŸããã çŸåšãXcode 㧠iOS ãšæŠã£ãŠããŸããããã® SDK ãšã¯é¢ä¿ãããŸããã
ç·šé:ããã¯ã以å㯠Firebase Analytics ãæå¹ã«ããŠããããçŸåšã¯æå¹ã«ããŠããªãããšãåå ã§ããå¯èœæ§ããããŸãã æåã«åé¡ãçºçãããšã㯠Facebook SDK ã䜿çšããŠããŸããã§ããããã㯠Mapbox SDK ã®åé¡ã§ãAndroid ãªãŸã«ããŒã«æŽæ°ãã代ããã« Java ã©ã€ãã©ãªãåé åžããŠããããã§ãã Mapbox ãåãé€ããGoogle ãããã䜿ãå§ããã®ã§ãšãŠãè¯ãã£ãã®ã§ãããã¢ã»ããã® 1 ã€ã®ããã¥ã¡ã³ããå€ãããŒãžã§ã³ãèŠæ±ããŠãããããFacebook SDK ã®å€ãããŒãžã§ã³ãå°å ¥ããŸããã ããã§ãæ°ãã Facebook SDK ãå ¥æããã®ã§ãå€ãããŒãžã§ã³ãå¿ èŠãšããã¢ã»ããã®ã³ãŒãã調æŽããå¿ èŠããããŸããã çŸåšãFirebase Authentication ãæ©èœããŠããã ãã§ããããŸã androidx.core.core-1.0.0 ãå©çšããŠããããã§ãã ããŸãããã°ãããã圹ç«ã€
AdMob ã䜿çšããŠãããããžã§ã¯ãã« FB ãè¿œå ãããšãåã競åãçºçããŸã
å±æ§application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android. support:support-compat :28.0.0] AndroidManifestã xml:22 :18-91
ææ¡ãè¿œå ããåŸtools:replace="android:appComponentFactory" android:appComponentFactory="whateverString"
ç§ã¯åŸãŠããŸã
java.lang.RuntimeException: éè€ããã¯ã©ã¹ android.support.customtabs.ICustomTabsCallback ãã¢ãžã¥ãŒã« classes.jar (androidx.browser:browser:1.0.0) ããã³ classes.jar (com.android.support:customtabs:28.0.0) ã«èŠã€ãããŸãã
ãã£ãš ...
ãã¹ãŠã® SDK ãš Unity ã®ææ°ããŒãžã§ã³ããããŸãã
ãªãããªããç§ã«äœè©äŸ¡ãä»ããã®ããããã«ãªãããããã®ãç§ãããªããå©ããããšæã£ãã®ãã¯ããããŸããããcom.android ãåé€ããããšããå§ãããŸãã support:customtabs :28.0.0ãé垞㯠Assets/Plugins/Android/ ã«ä¿åãããåé¡ã解決ãããã©ããã確èªããŠãã ããã
åé¡ã¯ãAssets/Plugins/Android/ ãã©ã«ããŒã«å€§éã®ã©ã€ãã©ãªããã代ããã«ã mainTemplate.gradle
ã䜿çšããŠããããšã§ãã (ãªããžããªå
ã®ã¹ããŒã¹ãéãããŠããŸã)ã
implementation 'com.android.support.XXXX'
ããã¹ãŠåé€ããŸããããããã§ãåãåé¡ãçºçããŸãã
管çè
ãããªãã®ãããªæçš¿ãèªãã§ãããšãã圌ã¯ãã®åé¡ãã¯ããŒãºããããšãã§ããŸã.
次ã®ãããªå€ãã®ãããžã§ã¯ããšãœãªã¥ãŒã·ã§ã³ããµããŒãããŠããŸã: Export to Android Studio
ãŸãã¯remove library
ããããžã§ã¯ãã«ååšããªãã®ã¯ãœãªã¥ãŒã·ã§ã³ã§ã¯ãããŸããã
幞éã®èœ
ç§ãä»èããŠããããšã¯ãFacebook ãš Firebase ã®åé¡ã ãã§ãªããUnity èªäœã«ãå±ããŠããå¯èœæ§ããããŸãã enableJetifier ãš useAndroidX 㯠Unity mainTemplate.gradle ãã¡ã€ã«ã§æå¹ã«ãªã£ãŠããŸããããUnity ããã«ã ããã»ã¹ãéå§ãããšãJetifier ã¯ãã®ä»äºãããŸããããã®ããªãã¯ãè¡ãããšãã§ããŸãã
ãã®åé¡ã¯ãGoogle/Unity ã®åé¡ãš Facebook ã®åé¡ã®äž¡æ¹ã§ãã Facebook ã¯ãçŽç²ã§ã·ã³ãã«ãª AndroidX ã䜿çšããããã« SDK ãã¢ããã°ã¬ãŒãããå¿ èŠãããããã®åé¡ã¯è§£æ±ºããŸãã Google/Unity ã¯ãUnity å ã§å®è¡ãããç¬èªã®ããŒãžã§ã³ã® Jetifier ãéçºããFacebook ãªã©ã®äŒæ¥ãä¿®æ£ãããŸã§åé¡ã«ããããåœãŠãŠããŸãããUnity ã® Jetifier 㯠Facebook SDK ã§ã¯åäœããŸããã
幞ããªããšã«ãAndroid Studio ã® Jetifier ã¯æ£åžžã«åäœããŸã... Facebook SDK ã AndroidX ã䜿çšãããã®ä»ã®ã©ã€ãã©ãªã§ Unity ã²ãŒã ãå®è¡ããã«ã¯ãæåéããããå¯äžã®ãœãªã¥ãŒã·ã§ã³ã§ãã
åãåé¡ããããV7.16 ãã v7.19.2 ã«åãæ¿ããŠåé¡ãä¿®æ£ããŸããã
@LunarInteractiveArts 7.19.2ãè©ŠããŸããããæ®å¿µãªããããŸããããŸããã§ããã
ãã ãããã®ãã°ã«æçš¿ããã解決çããããŸã:
@doom-goober ç§ã¯ãããè©ŠããŸããããåäœããŸããã§ããã
ã³ãŒãã¯ãGoogle ã®äŸåé¢ä¿ãªãŸã«ããŒãçæããŠãã次ã®ãããªãã®ã§ãã
OneSignal ãã«ã ã»ã¯ã·ã§ã³ã§ä¿®æ£ãèŠã€ããããã§ãã ä¿®æ£ã¯ Unity ofc çšã§ãã https://documentation.onesignal.com/docs/troubleshooting-unity#section -android-x-compatibility
Unity 2019.3.11f1 ã®2 ã€ã®ã¹ãããã§è§£æ±ºããŸããã
Edit
-> Project Settings
-> Player
-> Publishing settings
-> Custom Properties Gradle Template
gradleTemplate.properties
ãããããã®è¡ãå
é ã«è¿œå ããŸããUnity 2019.2.21 ã§ã¯ã以äžã®ããã« jetfiier ãæå¹ã«ããŠããéè€ããã¯ã©ã¹ ãšã©ãŒãåŒãç¶ãçºçããŸãã
([rootProject] + (rootProject.subprojects as List)).each {
å€éš {
it.setProperty("android.useAndroidX", true)
it.setProperty("android.enableJetifier", true)
}
}
@jackatfpããªãã¯@gromilQaaaaã®è§£æ±ºçãè©ŠããŠã¿ãŸãããïŒ Unity ãããã«ããåã³æ©èœããããã«ãªã£ãããã¥ã¡ã³ãã®ã»ã¯ã·ã§ã³ãžã®çŽæ¥ãªã³ã¯ã次ã«ç€ºããŸãã
https://documentation.onesignal.com/docs/troubleshooting-unity#unity -20193-or-newer
Assets/Plugins/Android/settingsTemplate.gradle ãšãããã¡ã€ã«ãè¿œå ããå¿ èŠãããã»ã¯ã·ã§ã³ã§ãã
ãã®åé¡ã«ã€ã©ã€ã©ãããããŠãç§ã¯ Android Studio ãããã«ãããããšã«ããããšæ±ºå¿ããŸããã ãã®ãœãªã¥ãŒã·ã§ã³ã®ã¿ãäžè²«ããŠæ©èœããŸããïŒåã®ãœãªã¥ãŒã·ã§ã³ã¯æ©èœãããšæããŸãããããããžã§ã¯ãã«ä»ã®ãã©ã°ã€ã³ãè¿œå ãããšãã«æ©èœããªããªããŸããïŒã Unity ã®ãã¹ã ããã»ããµãšèšå®ã§ãããgradle ã䜿çšãã Android Studio ã§åäœããŠãããããæããã«ãžã§ããæ©ã¯åäœããŠããŸããã ãããã£ãŠãgradle ããŒã¹ã®ãœãªã¥ãŒã·ã§ã³ã¯çã«ããªã£ãŠããããã§ãã
ãšã«ãããããã¯ç§ã«ãšã£ãŠã¯ããŸããããŸãã.解決çãèŠã€ããããšãã§ããŠãšãŠãã€ã©ã€ã©ããåãã§ããŸãã.ãããããªãã«ãšã£ãŠããŸãããããšãé¡ã£ãŠããŸã. ãã²ãè©Šããã ããïŒ ããã°ããã
ãã®å Žåããžã§ããæ©ãæŸããªãã£ãã®ã¯æ£ããã§ãããOneSignal ãœãªã¥ãŒã·ã§ã³ã䜿çšããå¿ èŠã¯ãããããŸããã
ææ°ã® 2019.3 å
¬åŒããŒãžã§ã³ (ç§ã®å Žå㯠2019.3.12f1 atm) ã䜿çšãããšãMain Gradle ãã³ãã¬ãŒãã®äžã«ã«ã¹ã¿ã Gradle ãããã㣠ãã³ãã¬ãŒãã䜿çšããŠã次ãè¿œå ã§ããŸãã
android.useAndroidX=true
android.enableJetifier=true
æ°ããçæããã gradleTemplate.properties ãã¡ã€ã«ã«ã
ç§ã¯ Android Studio ã«ãšã¯ã¹ããŒãããŠããããªãã·ã£ãŒãå¿ èŠãšãããã¹ãŠã® SDK ã䜿çšããŠãã«ããããã以æ¥ãAndroid ãã«ã ãšã©ãŒã®æ²æšãªç¶æ³ã«åãçµãã§ããŸããããžã¥ãã¢éçºè ãšããŠãããããåé¡ã«ééãããšæããŸãããä»ã§ã¯ã€ãã« Unity å ãããã«ãã§ããããã«ãªããŸããã Jetifier 㯠Android Studio 以å€ã§ã¯ Facebook SDK ãšé©åã«é£æºããŠããªãã£ããããAndroidX ã«ç§»è¡ããããã©ã°ã€ã³ãååã«äœ¿çšããå Žåãããã¯ãªå€æŽãå ããã« Unity å ãããã«ãããã®ã¯å°é£ã§ãã
ãŸããéåžžãPlugins/Android/AndroidManifest.xml ãå€æŽããŠããããã¢ããªã±ãŒã·ã§ã³ ã¿ã°ã«å«ããå¿
èŠããããŸãã
tools:replace="android:appComponentFactory" android:appComponentFactory="leavemealone"
ãããã§ã¹ã ã¿ã°å
ã®xmlns:tools="http://schemas.android.com/tools"
ã
ã¯ããããã®ç®çãããããªãã®ã§ã©ã³ãã ãªæååã§ãããåäœãããããã§ã¹ã ããŒãž ãã«ã ãšã©ãŒãä¿®æ£ããŸãã
ããã§ãIronsource (å€ãã®ã¢ããã¿ãŒãä»ããŠããŸã)ãFacebook SDKãGameAnalyticsãAdjustãFirebase ãªã©ã䜿ã£ãŠãã«ãã§ããŸãã åºæ¬çã«ãææ°ã®Unity Jar ResolverãååŸããèšå®ããã§ãã¯ããŠèªå解決ãåé€ãããã«ãæã«è§£æ±ºãåé€ãããããã®ã¡ã€ã³ãã³ãã¬ãŒããèšå®ããŠjetifierãtrueã«èšå®ãã解決ã匷å¶ããå¿ èŠãªè¿œå ã®äŸåé¢ä¿/ãªããžããªãè¿œå ããgradlepropertiesã®ããªãã¯ãå®è¡ããUnityå ã§ãã«ãããŠå®äºã§ã.
@doom-goober ã¯ããããªããèšåãã解決çãå«ããŠãã¹ãŠãè©ŠããŸããããããã§ãæ©èœããŸãã
@doom-goober ã¯ããããªããèšåãã解決çãå«ããŠãã¹ãŠãè©ŠããŸããããããã§ãæ©èœããŸãã
@ruslanmamonovãªãã·ã§ã³ãè©ŠããŸããã?
ããã¯ç§ã«ãèµ·ãã£ãŠããŸãã äžèšã®è§£æ±ºçããã¹ãŠè©ŠããŸããããæåããŸããã§ããã Facebook SDK ã¯ãandroidX ãšè¡çªããå€ãäŸåé¢ä¿ãæ¿å ¥ããŠãããEDM4U ã¯ãããã解決ã§ããŸããã
以äžã®äŸ:
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 ã cardview ãè¿œå ããå¥ã®ããŒã«ã« ãã©ã°ã€ã³ãè¿œå ããŸããã Jetifier ã¯äœãããŠããªãããã§ãã
OneSignal ã«ãã£ãŠææ¡ãããä¿®æ£ã§ãããã®åé¡ã¯è§£æ±ºãããŸããã
ãããç§ã¯ Facebook.Unity.Editor.dll ã®ç¬èªã®ã«ã¹ã¿ã ããŒãžã§ã³ãäœæããŠã競åããå®è£
ãæ¿å
¥ããªãããã«ããŸããã
ããããããããfacebook SDKãæ§ç¯ããã®ã¯ç°¡åã§ã¯ãããŸããã§ãã...ããããæçµçã«ã¯ããŸããããŸãã:)
ç§ã¯åãåé¡ã«èŠããã§ããŸãããéè€ããã¯ã©ã¹ã¯ç°ãªããŸã:
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 ã¯ãã®ã©ã€ãã©ãªãã€ã³ããŒãããŠããªãããã§ãã
ç§ã¯ãžã§ããã¡ã€ã¢ãŒã®ããªãã¯ãè©ŠããŸãã.mainTemplate.gradleãäœæããããšããŸãã.
mainTemplate.gradle ã¯æ¬¡ã®ããã«ãªããŸãã
// 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**
ãã®ä»ã®ã¢ã€ãã¢åºæ¬çã«ãfacebook sdk ããããžã§ã¯ãã«è¿œå ãããšãããæåãããã®ãšã©ãŒãçºçããŸããã
ææ°ã® jar ãªãŸã«ããŒãfacebook sdkãfirebase sdk ããããŸãã
ç§ã¯ãŸã äžã§ææ¡ããã®ãšåãæ¹æ³ã䜿çšããŠããŸã (ã°ã©ãã«ã®ããããã£ã«ç¥ã®ãå è·ããããŸã)ããã以æ¥ãåé¡ã¯äžåºŠããããŸããã§ãããå€æŽãããã®ã¯ãUnity ã® Android SDK ã®äœ¿çšããããŠãèªåã§ããŠã³ããŒããããã¹ãåªå çã«å€æŽããããšã ãã§ããã¿ãŒã²ããã api 30 ã«ããå°ãå¹³åã«èšå®ã§ããŸãã ãšãã£ãŠããããã»ã©åœ±é¿ã¯ãªãã¯ãã§ãã äž»ãªããšã¯ããã«ãããåã« EDM èšå®ã§ãžã§ããã¡ã€ã¢ãŒãmainTemplate ãããé©çšãããã³åŒ·å¶è§£æ±ºã䜿çšããããšã§ã (ç§ã®ããã«èªå解決ãæå¹ã«ããããªãå Žå)ã å ¬éèšå®ã§ã¯ãã«ã¹ã¿ã gradle ããããã£ãã¡ã€ã³ ãã³ãã¬ãŒããã«ã¹ã¿ã android ãããã§ã¹ãã䜿çšããŸã (ã¡ã€ã³ ãã³ãã¬ãŒãã android ãããã§ã¹ãã«ã¯ãã觊ããŸããããedm ãš facebook ã¡ãã¥ãŒã®ç·šéèšå®ã®ãandroid ãããã§ã¹ããåçæãããã§å ¥åãããŸã)ãå®è¡äžã®ãã¹ãŠã®ã¯ã©ã¹ãšã©ãŒãéè€ããŠããå Žåã¯ããããããããžã§ã¯ãã«äœåãªãã®ããããåé€ããå¿ èŠããããŸã.ããšãã°ãAdjust ã䜿çšããŠããå Žåã¯ãã€ã³ã¹ããŒã«ãªãã¡ã©ãŒã解決ããŠãããããžã§ã¯ãã® Plugins ãã©ã«ããŒã«å¥ã®ãªãã¡ãŒã©ãŒãæ®ã£ãŠãããããåé€ããå¿ èŠããããŸãããããããããã»ãšãã©ã®å Žåãç§ãææ¡ããèšå®ã䜿çšããã°ããããã®åé¡ã¯ãã¹ãŠåçŽã«æ¶ããŠããŸããŸãã
TL;DR: ã«ã¹ã¿ã Gradle ãããã㣠ãã³ãã¬ãŒããããã³è¿œå :
android.useAndroidX=true
android.enableJetifier=true
ã«ã¹ã¿ã ã¡ã€ã³ãã³ãã¬ãŒããEDM4Uã«ããããåœãŠãJetifierããªã³ã«ãããã«ãåã«åŒ·å¶çã«è§£æ±ºããŸã
ã«ã¹ã¿ã ã®ã¡ã€ã³ ãããã§ã¹ããFacebook ãã¡ãã¥ãŒãããããã§ã¹ããåçæã§ããããã«ããŸã èšå®ã®ç·šé
ç§ã¯æ¯æ¥ã®ããã«äœçŸäžãã® SDK ã䜿ã£ãŠãã«ãã§ããããšãçŽæããŸããç§ã¯ã©ã³ãã ãªãžã¥ã㢠ã²ãŒã ããããããŒã§ãã«ã¹ã¿ã gradle ããããã£ãåºããŸã§ããã®ãããªããšãå°ããããããŠãAndroid Studio ã«é Œã£ãŠããŸããã
ããŠãã€ãã«ç§ã¯åé¡ãèŠã€ããŸãã-ç§ã¯ãã¯ãã«æç»å¯èœãªaarãã¡ã€ã«ããã¡ã€ã«ã«æµ®ããã§ããŸãã-ãããåé¡ã®åå ã§ããã ã©ã®ã©ã€ãã©ãªããããã³ããŒãããã¯ããããŸãããããã®ãã¡ã€ã«ãåé€ãããšããããã¹ãŠã®ãšã©ãŒããªããªããŸããã ãšã«ãããã³ããããããšã:)
æãåèã«ãªãã³ã¡ã³ã
Unity 2019.3.11f1 ã®2 ã€ã®ã¹ãããã§è§£æ±ºããŸããã
Edit
->Project Settings
->Player
->Publishing settings
->Custom Properties Gradle Template
gradleTemplate.properties
ãããããã®è¡ãå é ã«è¿œå ããŸãããããããã£ã
android.useAndroidX=true
android.enableJetifier=true