「Unity/バージョンアップメモ/unity6000.0.12f1」の版間の差分
(→" [com.google.android.gms:play-services-ads-lite:22.6.0]"エラーが出る場合) |
(→" [com.google.android.gms:play-services-ads-lite:22.6.0]"エラーが出る場合) |
||
行102: | 行102: | ||
エラー詳細 | エラー詳細 | ||
Attribute property#android.adservices.AD_SERVICES_CONFIG@resource value=(@xml/gma_ad_services_config) from [com.google.android.gms:play-services-ads-lite:22.6.0] | Attribute property#android.adservices.AD_SERVICES_CONFIG@resource value=(@xml/gma_ad_services_config) from [com.google.android.gms:play-services-ads-lite:22.6.0] | ||
+ | |||
+ | ProjectSettingsのAndoridのPlublishingSettingのCustomMainManifestにチェックを入れる。 | ||
Assets/Plugins/Android/AndroidManifest.xml に以下、propertyタグを、追加すると直る。 | Assets/Plugins/Android/AndroidManifest.xml に以下、propertyタグを、追加すると直る。 |
2024年9月9日 (月) 19:09時点における版
(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 " [com.google.android.gms:play-services-ads-lite:22.6.0]"エラーが出る場合
- 9 "minSdkVersion is less than or equal to targetSdkVersion."エラーがでる場合
- 10 "libunity.so"エラーがでる場合
- 11 FileProviderエラーが出る時
- 12 minSdkVersionのエラーが出る時
- 13 BaseUnityGameActivityThemeのエラーが出る時
- 14 AdMobで、"to find your app ID"エラーが出る時
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にした。→治らず・・
" [com.google.android.gms:play-services-ads-lite:22.6.0]"エラーが出る場合
エラー詳細
Attribute property#android.adservices.AD_SERVICES_CONFIG@resource value=(@xml/gma_ad_services_config) from [com.google.android.gms:play-services-ads-lite:22.6.0]
ProjectSettingsのAndoridのPlublishingSettingのCustomMainManifestにチェックを入れる。
Assets/Plugins/Android/AndroidManifest.xml に以下、propertyタグを、追加すると直る。
<manifest> <application> <property android:name="android.adservices.AD_SERVICES_CONFIG" android:resource="@xml/gma_ad_services_config" tools:replace="android:resource" /> </application> </manifest>
参考:https://stackoverflow.com/questions/78085458/manifest-merger-failed-with-agp-8-3-0
"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
下のminSdkVersionエラー時に、一緒にで出たが、minSdkVersion側を解決したら、このエラー消えてたかも・・
FileProviderエラーが出る時
エラー詳細
java.lang.RuntimeException: Unable to get provider androidx.core.content.FileProvider: java.lang.ClassNotFoundException: Didn't find class "androidx.core.content.FileProvider"
下のminSdkVersionエラーの対応したところいつの間にか、エラーが消えてた。
minSdkVersionのエラーが出る時
> Configure project :unityLibrary:res.androidlib WARNING: minSdkVersion (24) is greater than targetSdkVersion (9) for variant "debug". Please change the values such that minSdkVersion is less than or equal to targetSdkVersion.
TargetAPILevelをautomaticから、APILevel~に、変えると直る。
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">
AdMobで、"to find your app ID"エラーが出る時
****************************************************************************** * Invalid application ID. Follow instructions here: * https://googlemobileadssdk.page.link/admob-android-update-manifest * to find your app ID. * Google Ad Manager publishers should follow instructions here: * https://googlemobileadssdk.page.link/ad-manager-android-update-manifest. ******************************************************************************
解決策1
以下をMobileAds.Initializeを追加
Start() { MobileAds.Initialize(initStatus => { }); }
解決策2
AdMobのapplicationIdを新規で作ったら、他のapplicationIdを一旦入れてみて、エラーが消えるか確認する。 このパターンで、エラーが消えることはあった。