最近、Unityを2021.3.9f1にアップデートしたのですが、Assets/Plugin/Android/res に配置していたフォルダの部分で下記のようなエラーが出るようになってしまいました。
今回はこの対処法についてメモしておきたいと思います。
Exception: OBSOLETE - Providing Android resources in Assets/Plugins/Android/res was removed, please move your resources to an AAR or an Android Library. See "AAR plug-ins and Android Libraries" section of the Manual for more details.
UnityEditor.Android.PostProcessor.Tasks.CheckUserResources.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <c25421dc6fc44f979deb663080982040>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <c25421dc6fc44f979deb663080982040>:0)
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
/Users/.gradle/caches/transforms-2/files-2.1/2c97cad732e0673c2400afdfbca75734/jetified-res/res/values-ja/string.xml.meta: Resource and asset merger: The file name must end with .xml
/Users/.gradle/caches/transforms-2/files-2.1/2c97cad732e0673c2400afdfbca75734/jetified-res/res/values-en/string.xml.meta: Resource and asset merger: The file name must end with .xml
/Users/.gradle/caches/transforms-2/files-2.1/2c97cad732e0673c2400afdfbca75734/jetified-res/res/values-ko/strings.xml.meta: Resource and asset merger: The file name must end with .xml
/Users/.gradle/caches/transforms-2/files-2.1/2c97cad732e0673c2400afdfbca75734/jetified-res/res/values-zh/strings.xml.meta: Resource and asset merger: The file name must end with .xml
【Unity】Androidのresフォルダがビルドエラーになる場合の対処法① aarを作成する
調べた感じだと、今まで「res」フォルダに入れいていたデータを「aar」化する方法が結構載ってました。
やり方としては「res」フォルダをzip化したあと、拡張子を「aar」にすればOKっぽかったのですが、僕の環境では以下のようなエラーが出てうまくいきませんでした。
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':unityLibrary:compileReleaseJavaWithJavac'.
> Could not resolve all files for configuration ':unityLibrary:releaseCompileClasspath'.
> Failed to transform res-.aar (:res:) to match attributes {artifactType=android-classes-jar, org.gradle.status=integration, org.gradle.usage=java-api}.
> Execution failed for AarToClassTransform: /Users/.gradle/caches/transforms-2/files-2.1/8a9018a884e3c86fd2be0e0172521d4b/jetified-res.aar.
> entry
【Unity】Androidのresフォルダがビルドエラーになる場合の対処法① res.androidlibを作成する
aarの方法ではうまくいかなかったので、androidlibを作成したところ、うまくいきました。
以下のようなAndroidManifest.xmlとproject.propertiesを用意して、
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="custom.android.res" android:versionCode="1" android:versionName="1.0"> </manifest>
project.properties
上記2点と「res」を入れたものを1つのフォルダに入れて、拡張子を「androidlib」にしてAssets/Plugin/Android/以下に配置すればOKです。
無事ビルドできたので、今後同様のエラーが出た場合はandroidlibフォルダを作る対応を行いたいと思います。
お知らせ
ミステリー推理ゲーム「リアル捜査ゲーム」を最近リリースしました!
もしよろしければダウンロードお願い致します!