スポンサーリンク

1.はじめに

 

わたしは~かわいい~黄色いふうせん~、いいえ、右近です。

 

最近ともだちと作成していたAndroid用アプリがだいたい完成してきたので、そろそろ実機テストでもすっぺ、

と思ってビルドしようとしたら意味不明なエラーがでやがりました。

 

でも、「どうせエラー内容コピッてググればすぐでしょ!」と思っていた時期が私にもありました状態で、

いつの間にか同じエラーに3日もの時間を費やされましたww(こいつ、目は笑ってねぇ)

 

ということで、私の二の舞になる人が一人でもいなくなるよう願いを込めまして、

どうやってビルドエラーさ解決しだか、紹介すっぺ。

 

※Unity 2018.2.9f1を使用

 

2.この記事が役に立ちそうな人の条件

ビルドエラーといっても星の数ほどあると思うので、この記事で紹介するエラー解消法が役に立ちそうな人の条件をあげておきます。

 

・「AdMod」を使用している。

・「NCMB」を使用している。

 

 

3.ビルドエラーの内容01(CommandInvokationFailure: Gradle build failed. )

 

今回私が戦ったビルドエラーの内容です。

 

Gradle Error:Colliding Attributes
The attribute
meta-data#android.support.VERSION@value=26.1.0
in:support-compat-26.0.2:collides with another value
(See the Console for details)

 

 

CommandInvokationFailure: Gradle build failed.
C:/Program Files/Java/jdk1.8.0_191\bin\java.exe -classpath "C:\Program Files\Unity 2018.2.9f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-4.2.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx2048m" "assembleRelease"stderr[
C:\Users\user\Documents\UnityProject\BildTestProject\Temp\gradleOut\src\main\AndroidManifest.xml:25:13-35 Error:
Attribute meta-data#android.support.VERSION@value value=(26.1.0) from [:com.android.support.customtabs-26.1.0:] AndroidManifest.xml:25:13-35
is also present at [:support-compat-26.0.2:] AndroidManifest.xml:28:13-35 value=(26.0.2).
Suggestion: add 'tools:replace="android:value"' to element at AndroidManifest.xml:23:9-25:38 to override.FAILURE: Build failed with an exception.* What went wrong:
Execution failed for task ':processReleaseManifest'.
> Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.1.0) from [:com.android.support.customtabs-26.1.0:] AndroidManifest.xml:25:13-35
is also present at [:support-compat-26.0.2:] AndroidManifest.xml:28:13-35 value=(26.0.2).
Suggestion: add 'tools:replace="android:value"' to element at AndroidManifest.xml:23:9-25:38 to override.* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.* Get more help at https://help.gradle.orgBUILD FAILED in 1m 45s
] stdout[
Starting a Gradle Daemon (subsequent builds will be faster)
:preBuild UP-TO-DATE
:GoogleMobileAdsPlugin:preBuild UP-TO-DATE
:GoogleMobileAdsPlugin:preReleaseBuild UP-TO-DATE
:GoogleMobileAdsPlugin:checkReleaseManifest
:GoogleMobileAdsPlugin:processReleaseManifest
:unity-android-resources:preBuild UP-TO-DATE
:unity-android-resources:preReleaseBuild UP-TO-DATE
:unity-android-resources:checkReleaseManifest
:unity-android-resources:processReleaseManifest
:preReleaseBuild
:GoogleMobileAdsPlugin:compileReleaseAidl
:unity-android-resources:compileReleaseAidl
:compileReleaseAidl
:GoogleMobileAdsPlugin:packageReleaseRenderscript NO-SOURCE
:unity-android-resources:packageReleaseRenderscript NO-SOURCE
:compileReleaseRenderscript
:checkReleaseManifest
:generateReleaseBuildConfig
:prepareLintJar
:generateReleaseResValues
:generateReleaseResources
:GoogleMobileAdsPlugin:compileReleaseRenderscript
:GoogleMobileAdsPlugin:generateReleaseResValues
:GoogleMobileAdsPlugin:generateReleaseResources
:GoogleMobileAdsPlugin:packageReleaseResources
:unity-android-resources:compileReleaseRenderscript
:unity-android-resources:generateReleaseResValues
:unity-android-resources:generateReleaseResources
:unity-android-resources:packageReleaseResources
:mergeReleaseResources
:createReleaseCompatibleScreenManifests
:processReleaseManifestSee http://g.co/androidstudio/manifest-merger for more information about the manifest merger.:processReleaseManifest FAILED
22 actionable tasks: 22 executed
] exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action1 progress, System.String error)
UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action
1 progress)
Rethrow as GradleInvokationException: Gradle build failed
UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action1 progress)
UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

英語がいっぱいです・・・。

 

 

4.倒し方01(解決策)

このエラーの倒し方ですが・・・、

↓以下のサイトを見てください!

https://qiita.com/gamu/items/b1f678297b9e92bd305f

 

一応↑のサイト様で紹介されているエラー解決法を簡単に説明すると、

「重複しているプラグインのバージョンを見て、古いほうを削除する」

です。

 

もし、同じエラーが出ているのだとしたら、十中八九解決できると思います。

私も上のサイト様に救われました。

 

 

5.ビルドエラーの内容02

 

このエラーは「ビルドエラーの内容01」を解決した後にビルドしようとしたら出てきたエラーになります。

(エラーのスクショを取り忘れたので、エラー文だけの紹介となります)

 

CommandInvokationFailure: Gradle build failed.
C:/Program Files/Java/jdk1.8.0_191\bin\java.exe -classpath "C:\Program Files\Unity 2018.2.9f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-4.2.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx2048m" "assembleRelease"stderr[FAILURE: Build failed with an exception.* What went wrong:
Execution failed for task ':transformResourcesWithMergeJavaResForRelease'.
> More than one file was found with OS independent path 'play-services-basement.properties'* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.* Get more help at https://help.gradle.orgBUILD FAILED in 3m 3s
] stdout[
:preBuild UP-TO-DATE
:GoogleMobileAdsPlugin:preBuild UP-TO-DATE
:GoogleMobileAdsPlugin:preReleaseBuild UP-TO-DATE
:GoogleMobileAdsPlugin:checkReleaseManifest
:GoogleMobileAdsPlugin:processReleaseManifest
:unity-android-resources:preBuild UP-TO-DATE
:unity-android-resources:preReleaseBuild UP-TO-DATE
:unity-android-resources:checkReleaseManifest
:unity-android-resources:processReleaseManifest
:preReleaseBuild
:GoogleMobileAdsPlugin:compileReleaseAidl
:unity-android-resources:compileReleaseAidl
:compileReleaseAidl
:GoogleMobileAdsPlugin:packageReleaseRenderscript NO-SOURCE
:unity-android-resources:packageReleaseRenderscript NO-SOURCE
:compileReleaseRenderscript UP-TO-DATE
:checkReleaseManifest UP-TO-DATE
:generateReleaseBuildConfig UP-TO-DATE
:prepareLintJar UP-TO-DATE
:generateReleaseResValues UP-TO-DATE
:generateReleaseResources UP-TO-DATE
:GoogleMobileAdsPlugin:compileReleaseRenderscript
:GoogleMobileAdsPlugin:generateReleaseResValues
:GoogleMobileAdsPlugin:generateReleaseResources
:GoogleMobileAdsPlugin:packageReleaseResources
:unity-android-resources:compileReleaseRenderscript
:unity-android-resources:generateReleaseResValues
:unity-android-resources:generateReleaseResources
:unity-android-resources:packageReleaseResources
:mergeReleaseResources
:createReleaseCompatibleScreenManifests UP-TO-DATE
:processReleaseManifest
:splitsDiscoveryTaskRelease
:GoogleMobileAdsPlugin:platformAttrExtractor
:unity-android-resources:platformAttrExtractor
:GoogleMobileAdsPlugin:generateReleaseBuildConfig
:GoogleMobileAdsPlugin:prepareLintJar
:GoogleMobileAdsPlugin:javaPreCompileRelease
:GoogleMobileAdsPlugin:processReleaseJavaRes NO-SOURCE
:unity-android-resources:generateReleaseBuildConfig
:unity-android-resources:prepareLintJar
:unity-android-resources:javaPreCompileRelease
:unity-android-resources:processReleaseJavaRes NO-SOURCE
:compileReleaseNdk NO-SOURCE
:mergeReleaseShaders
:compileReleaseShaders
:generateReleaseAssets
:GoogleMobileAdsPlugin:mergeReleaseShaders
:GoogleMobileAdsPlugin:compileReleaseShaders
:GoogleMobileAdsPlugin:generateReleaseAssets
:GoogleMobileAdsPlugin:mergeReleaseAssets
:unity-android-resources:mergeReleaseShaders
:unity-android-resources:compileReleaseShaders
:unity-android-resources:generateReleaseAssets
:GoogleMobileAdsPlugin:processReleaseResources
:GoogleMobileAdsPlugin:generateReleaseSources
:GoogleMobileAdsPlugin:compileReleaseJavaWithJavac
:GoogleMobileAdsPlugin:transformClassesAndResourcesWithPrepareIntermediateJarsForRelease
:unity-android-resources:mergeReleaseAssets
:mergeReleaseAssets
:mergeReleaseJniLibFolders
:GoogleMobileAdsPlugin:compileReleaseNdk NO-SOURCE
:GoogleMobileAdsPlugin:mergeReleaseJniLibFolders
:GoogleMobileAdsPlugin:transformNativeLibsWithMergeJniLibsForRelease
:GoogleMobileAdsPlugin:transformNativeLibsWithStripDebugSymbolForRelease
:GoogleMobileAdsPlugin:transformNativeLibsWithIntermediateJniLibsForRelease
:unity-android-resources:compileReleaseNdk NO-SOURCE
:unity-android-resources:mergeReleaseJniLibFolders
:unity-android-resources:transformNativeLibsWithMergeJniLibsForRelease
:unity-android-resources:transformNativeLibsWithStripDebugSymbolForRelease
:unity-android-resources:transformNativeLibsWithIntermediateJniLibsForRelease
:processReleaseJavaRes NO-SOURCE
:validateSigningRelease
:GoogleMobileAdsPlugin:extractReleaseAnnotations
:GoogleMobileAdsPlugin:mergeReleaseConsumerProguardFiles
:GoogleMobileAdsPlugin:transformResourcesWithMergeJavaResForRelease
:GoogleMobileAdsPlugin:transformClassesAndResourcesWithSyncLibJarsForRelease
:unity-android-resources:processReleaseResources
:processReleaseResources
:generateReleaseSources
:unity-android-resources:generateReleaseSources
:unity-android-resources:compileReleaseJavaWithJavac
:unity-android-resources:transformClassesAndResourcesWithPrepareIntermediateJarsForRelease
:javaPreCompileRelease
:compileReleaseJavaWithJavac
:compileReleaseSources
:lintVitalRelease
:transformClassesWithPreDexForRelease
:transformDexWithDexForRelease
:transformNativeLibsWithMergeJniLibsForRelease
:transformNativeLibsWithStripDebugSymbolForRelease
:transformResourcesWithMergeJavaResForRelease FAILED
69 actionable tasks: 63 executed, 6 up-to-date
] exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action
1 progress, System.String error)
UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action1 progress)
Rethrow as GradleInvokationException: Gradle build failed
UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action
1 progress)
UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

ふふっ、貴様など恐るるに足らず!!

 

 

6.倒し方02(解決策)

 

このエラーの対し方は先ほどと一緒で、重複しているプラグインをプロジェクトから検索し、

重複しているプラグインを削除するだけです。

 

検索キーワードは「play-services-basement」だったと思います。

 

 

5.考察

いろいろ調べてみると、今回の記事で紹介したビルドエラーが発生する原因は、

「AdMod」と「NCMB」をプロジェクトに導入するときにインストールするプラグインが、

重複するためっぽいです。

 

「AdMod」で使っているプラグインと「NCMB」で使っているプラグインが一緒だったり、

一緒だけどバージョンが違うとかだったり。

 

もし、プラグインの重複が原因ぽいビルドエラーが発生したら、

思い切って、重複しているプラグインを削除してしまうのも手かもしれません。

(もちろん、万が一のためにバックアップをとるかバージョン管理をしておいたほうが平和でしょう)

 

 

 

あとがき

すでに、今回紹介したビルドエラーの解決法を紹介しているサイトがあるにもかかわらず、

わざわざ今回の記事を作成したのには理由があります。

それは、少しでも多くの人が上で紹介したサイトにたどり着けるようになってほしかったからです。

冒頭でお話しましたが、私は今回紹介したビルドエラーで3日苦しみました。

上で紹介した記事を一発で探せていたら3日どころか、5分くらいで解決できたところをです。

だから、今回のような記事を作成することで、私のように「Google検索」がそんなに得意じゃない人が

少しでも早く目的のサイトにたどり着くお手伝いができるかな、と思った次第でございます。

 

 

スポンサーリンク
おすすめの記事