Jetpackが原因?UnityからAndroid StudioのビルドでprocessDebugResourcesエラーが出たときの対処方法

 

UnityでAndroid向けにAdmobを導入しようとした時の話。

Unityから書き出したプロジェクトをAndroid Studioでビルドしようとしたら、

以下のような、競合と思われるエラーが出てビルドエラーになってしまいました。

Error:Execution failed for task ':processDebugResources'.
> Error: more than one library with package name 'androidx.vectordrawable'

 

「androidx.vectordrawable」は、Admobを入れたときPlayServicesResolverから勝手(自動的に)にダウンロードされるものだから、競合が起きるなんておかしい!「Jetpack」の不具合と思ったくらいです。

 

結論から言うと、解決策はUnity本体、Android Studioの更新ですが、どのように対処したか

背景を交えて解説します!

 

 

■現象が発生したときの開発環境

・Unity5.6.6

・Android Studio 2.1.1

 

現象発生したときの手順

Android Studioでビルド時、以下のようなエラーが出ました。

 

Error:Execution failed for task ':processDebugResources'.
> Error: more than one library with package name 'androidx.vectordrawable'

手順は以下の通り。

 

①Unity5.6.6の空のプロジェクトを作成する

②以下のライブラリーをUnityプロジェクトに反映させる。

・GoogleMobileAds-v3.18.0(Unity版のAdmob)

・GoogleMobileAdsMediationTestSuite

③UnityからAndroidプロジェクト向けにexport(Build SystemはGradle)する

④Android Studioで③で書き出したプロジェクトを開く

build.gradleの主な設定は以下の通り

 

build.gradleの設定

compileSdkVersion 28
buildToolsVersion '28.0.1'
minSdkVersion 16
targetSdkVersion 26

※compileSdkVersion、buildToolsVersionを28以上にしているから競合が起きないはず!

と考えた。

 

⑤ビルドする

その結果、以下の部分で競合が発生したのです。

 

compile(name: 'androidx.vectordrawable.vectordrawable-1.0.0', ext:'aar')
compile(name: 'androidx.vectordrawable.vectordrawable-animated-1.0.0', ext:'aar')

 

出力されたエラー

Error:Execution failed for task ':processDebugResources'.
> Error: more than one library with package name 'androidx.vectordrawable'

解決策はUnityとAndroid Studioのアップデート

開発環境を以下のようにしました。

・Unity2017.4.19

 (なぜUnityを2018以上にしないのかというと関わっているプロジェクトの事情です)

・Android Studio 3.4.1

 

その結果、ビルド時にprocessDebugResourcesエラーが出力されずに、ビルドに成功したのです。

apkファイルの作成も成功しました。

 

まさか、開発環境のアップデートとは思わなかったので解決に1日がかりでした。

ライブラリーの更新とか面倒な作業が多いなと、つくづく思うのでした・・・

 

最新情報をチェックしよう!
>プログラミングスクール検索・比較表サイト

プログラミングスクール検索・比較表サイト

ワンクリック、さらに詳細に条件を指定してプログラミングスクールの検索ができます。さらに比較表により特徴を細かく比較できる!

CTR IMG