Unity/バージョンアップメモ/unity6000.0.12f1
(2024/8/3時点、iOSは問題なかったが、Androidビルドが、うまくいかなかったので、一旦、保留)
目次
- 1 TMP_InputFieldのEditorの文字化けについて
- 2 合わせてほかもバージョンアップ
- 3 前バージョンが含まれてないか確認
- 4 compileSdkVersionのエラー
- 5 DllNotFoundException: Unable to load DLL 'FirebaseCppApp-12_1_0'エラーが出る
- 6 RequestConfiguration.Builder()が存在しないエラー
- 7 "com.google.android.gms:play-services-measurement-api:22.0.2 collides with another value"エラーがでる場合
- 8 "minSdkVersion is less than or equal to targetSdkVersion."エラーがでる場合
- 9 "libunity.so"エラーがでる場合
- 10 FileProviderエラーが出る時
- 11 BaseUnityGameActivityThemeのエラーが出る時
TMP_InputFieldのEditorの文字化けについて
TMProをImport TMP Essentialsするとなおる
合わせてほかもバージョンアップ
- GoogleMobileAds-v9.2.0(v8.7.0から)
- firebase_unity_sdk_12.1.0(11.8.0から)
→結局versionアップしても、versionアップせずでも、うまくAndroidがビルドできなかった。
以下でアンインストール対応して、インストールすると良いかも。
- Assets/Editor Default Resources/CrashlyticsSettings.asset を削除
- Assets/Firebase を削除
- Assets/GoogleMobileAds のスクリプトだけ削除
- Assets/Plugins/Android/FirebaseApp を削除
- Assets/Plugins/Android/FirebaseCrashlytics を削除
コマンドだとで消すときは、これ
cd Assets rm -fr ExternalDependencyManager rm -fr GoogleMobileAds/GoogleMobileAds* rm -fr GoogleMobileAds/CHANGELOG.md rm -fr GoogleMobileAds/CHANGELOG.md.meta rm -fr GoogleMobileAds/Editor rm -fr GoogleMobileAds/Editor.meta rm -fr GoogleMobileAds/LICENSE rm -fr GoogleMobileAds/LICENSE.meta rm -fr GoogleMobileAds/link.xml rm -fr GoogleMobileAds/link.xml.meta rm -fr Plugins/Android/FirebaseApp rm -fr Plugins/Android/FirebaseApp.meta rm -fr Plugins/Android/FirebaseCrashlytics.androidlib rm -fr Plugins/Android/FirebaseCrashlytics.androidlib.meta rm -fr Plugins/iOS/Firebase rm -fr GeneratedLocalRepo/Firebase rm -fr Editor\ Default\ Resources/CrashlyticsSettings.asset rm -fr Editor\ Default\ Resources/CrashlyticsSettings.asset.meta rm -fr Firebase rm -fr Editor\ Default\ Resources rm -fr Plugins/Android/Firebase*
前バージョンが含まれてないか確認
$ grep FirebaseCppApp-11_8_0 ./Assets -r
もしあれば、色々出てくる。(crashlyticsがうまく更新されてない例)
Binary file .//GeneratedLocalRepo/Firebase/m2repository/com/google/firebase/firebase-analytics-unity/11.8.0/firebase-analytics-unity-11.8.0.aar matches Binary file .//GeneratedLocalRepo/Firebase/m2repository/com/google/firebase/firebase-app-unity/11.8.0/firebase-app-unity-11.8.0.aar matches Binary file .//GeneratedLocalRepo/Firebase/m2repository/com/google/firebase/firebase-crashlytics-unity/11.8.0/firebase-crashlytics-unity-11.8.0.aar matches Binary file .//GeneratedLocalRepo/Firebase/m2repository/com/google/firebase/firebase-auth-unity/11.8.0/firebase-auth-unity-11.8.0.aar matches Binary file .//GeneratedLocalRepo/Firebase/m2repository/com/google/firebase/firebase-functions-unity/11.8.0/firebase-functions-unity-11.8.0.aar matches Binary file .//GeneratedLocalRepo/Firebase/m2repository/com/google/firebase/firebase-config-unity/11.8.0/firebase-config-unity-11.8.0.aar matches
削除した後は、プロジェクトを再起動すると良い。これは、確認すると以下ファイルの更新がされてなかった
- Assets/Plugins/Android/mainTemplate.gradle
- ProjectSettings/AndroidResolverDependencies.xml
compileSdkVersionのエラー
エラー詳細
A problem occurred configuring project ':launcher'. > com.android.builder.errors.EvalIssueException: compileSdkVersion is not specified. Please add it to build.gradle
Assets/Plugins/Android/mainTemplate.gradleを見るとcompileSdkVersionからcompileSdkになってるため
対策
BuildProfiles/PlayerSettings/Custom Main Gradle TemplateのチェックをoffにしてonにするとAssets/Plugins/Android/mainTemplate.gradleが更新されて、ビルドがうまくいくようになる。
DllNotFoundException: Unable to load DLL 'FirebaseCppApp-12_1_0'エラーが出る
エラー詳細
DllNotFoundException: Unable to load DLL 'FirebaseCppApp-12_1_0'. Tried the load the following dynamic libraries: Unable to load dynamic library 'FirebaseCppApp-12_1_0' because of 'Failed to open the requested dynamic library (0x06000000) dlerror() = dlopen failed: library "FirebaseCppApp-12_1_0" not found
以下ファイルはあるが、なぜかエラーになっている・・
Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_1_0.dll
Assets/Firebase/Plugins/x86_64 以下を全削除して、もう一度インストールして、確認。→だめだった→Unityを新規で作って、アプリほかライブラリを全部入れ直したら、このエラーはなくなった。
RequestConfiguration.Builder()が存在しないエラー
エラー詳細
new RequestConfiguration.Builder()のBuilderが存在しません。
原因 AdMobの9.0からBuilder()のメソッドは削除されているため
公式:https://github.com/googleads/googleads-mobile-unity/releases
Removed RequestConfiguration.Builder. Use RequestConfiguration directly.
AdMobのversionを、一旦、8.7にすることで対応した。
"com.google.android.gms:play-services-measurement-api:22.0.2 collides with another value"エラーがでる場合
エラー詳細
The attribute property#android.adservices.AD_SERVICES_CONFIG@resource=@xml/gma_ad_services_config in com.google.android.gms:play-services-measurement-api:22.0.2 collides with another value
(See the Console for details) 多分firebaseとAdmobのplayservicesのバージョンが違うとかで、エラーが出てるのだと思う。なので、それぞれのバージョンの日時を確認して、同じような時期にデータバージョン同士で、入れればよいかも。
AdMobを8.7にしているので、Firebaseを11.8にした。→治らず・・
"minSdkVersion is less than or equal to targetSdkVersion."エラーがでる場合
エラー詳細
WARNING: minSdkVersion (24) is greater than targetSdkVersion (9) for variant "release". Please change the values such that minSdkVersion is less than or equal to targetSdkVersion.
BuildProfiles/PlayerSettingで、targetSdkVersionを、指定している場合でも、再度指定してみる。→治らず・・
"libunity.so"エラーがでる場合
エラー詳細
Configure project :unityLibrary Variant 'debug', will keep symbols in binaries for: 'libunity.so' 'libil2cpp.so' 'libmain.so'
プロジェクト直下のLibraryに3つlibunity.soがあったが、ここらへんが問題なのかも・・。→どれかのライブラリが、インストーリしてるのだろうけど、一旦このバージョン、諦めたので、追加調査せず
Library/Bee/Android/Prj/IL2CPP/Gradle/unityLibrary/src/main/jniLibs/arm64-v8a/libunity.so Library/Bee/artifacts/Android/libunity/arm64-v8a/stripped/libunity.so Library/Bee/artifacts/Android/libunity/arm64-v8a/unstripped/libunity.so
FileProviderエラーが出る時
エラー詳細
java.lang.RuntimeException: Unable to get provider androidx.core.content.FileProvider: java.lang.ClassNotFoundException: Didn't find class "androidx.core.content.FileProvider"
BaseUnityGameActivityThemeのエラーが出る時
エラー詳細
Resource 'style/BaseUnityGameActivityTheme' not found in AndroidManifest.xml:73, (See the Console for details)
以下ファイルから以下のように一部を削除
Assets/Plugins/Android/AndroidManifest.xml
- <activity android:name="com.unity3d.player.UnityPlayerGameActivity" android:theme="@style/BaseUnityGameActivityTheme"> + <activity android:name="com.unity3d.player.UnityPlayerGameActivity">