「Unity/バージョンアップメモ/unity6000.0.12f1」の版間の差分
(→" [com.google.android.gms:play-services-ads-lite:22.6.0]"エラーが出る場合) |
(→合わせてほかもバージョンアップ) |
||
(同じ利用者による、間の11版が非表示) | |||
行1: | 行1: | ||
− | + | =Unity側= | |
==TMP_InputFieldのEditorの文字化けについて== | ==TMP_InputFieldのEditorの文字化けについて== | ||
行7: | 行7: | ||
*GoogleMobileAds-v9.2.0(v8.7.0から) | *GoogleMobileAds-v9.2.0(v8.7.0から) | ||
*firebase_unity_sdk_12.1.0(11.8.0から) | *firebase_unity_sdk_12.1.0(11.8.0から) | ||
− | |||
以下でアンインストール対応して、インストールすると良いかも。 | 以下でアンインストール対応して、インストールすると良いかも。 | ||
行60: | 行59: | ||
* ProjectSettings/AndroidResolverDependencies.xml | * ProjectSettings/AndroidResolverDependencies.xml | ||
+ | =ios側= | ||
+ | エラー詳細 | ||
+ | error: accessing build database "Library/Developer/Xcode/DerivedData/Unity-iPhone-glynammnnqkwojedhubmfpcydqmk/Build/Intermediates.noindex/XCBuildData/build.db": database or disk is full | ||
+ | |||
+ | 対応方法 | ||
+ | *pc再起動で治った。 | ||
+ | |||
+ | =android側= | ||
==compileSdkVersionのエラー== | ==compileSdkVersionのエラー== | ||
エラー詳細 | エラー詳細 | ||
行99: | 行106: | ||
AdMobを8.7にしているので、Firebaseを11.8にした。→治らず・・ | AdMobを8.7にしているので、Firebaseを11.8にした。→治らず・・ | ||
− | ==" | + | =="AndroidManifest.xml, you can use the AGP Upgrade Assistant"エラーが出る時== |
+ | エラー詳細 | ||
+ | If you've specified the package attribute in the source AndroidManifest.xml, you can use the AGP Upgrade Assistant to migrate to the namespace value in the build file. Refer to | ||
+ | |||
+ | Assets/Plugins/Android/mainTemplate.gradle にnamespaceがなければ追加する | ||
+ | |||
+ | <pre> | ||
+ | android { | ||
+ | + namespace "com.unity3d.player" | ||
+ | compileSdk **APIVERSION** | ||
+ | </pre> | ||
+ | |||
+ | =="This Android Gradle plugin (8.3.0) was tested up to compileSdk = 34."エラーが出る時== | ||
+ | compileSdkを35とかにしてれば、compileSdkを、34に設定すればよい。 | ||
+ | |||
+ | =="CMakeLists.txt"エラーが出る時== | ||
+ | エラー詳細 | ||
+ | Android/Prj/IL2CPP/Gradle/unityLibrary/src/main/cpp/CMakeLists.txt release|arm64-v8a : com.google.prefab.api.NoMatchingLibraryException: No compatible library found for //games-frame-pacing/swappy. Rejected the following libraries: 118 actionable tasks: 2 executed, 116 up-to-date | ||
+ | |||
+ | Assets/Plugins/Android/mainTemplate.gradle | ||
+ | <pre> | ||
+ | android { | ||
+ | namespace "com.unity3d.player" | ||
+ | + ndkPath "**NDKPATH**" | ||
+ | + ndkVersion "**NDKVERSION**" | ||
+ | </pre> | ||
+ | 参考:https://discussions.unity.com/t/android-build-error-user-is-using-a-static-stl-but-library-requires-a-shared-stl/920912/3 | ||
+ | |||
+ | =="BaseUnityGameActivityTheme) not found."エラーが出る時== | ||
+ | 対応策 | ||
+ | Assets/Plugins/Android/AndroidManifest.xml の以下を削除 | ||
+ | <pre> | ||
+ | <activity android:name="com.unity3d.player.UnityPlayerGameActivity"> | ||
+ | <intent-filter> | ||
+ | <action android:name="android.intent.action.MAIN" /> | ||
+ | <category android:name="android.intent.category.LAUNCHER" /> | ||
+ | </intent-filter> | ||
+ | <meta-data android:name="unityplayer.UnityActivity" android:value="true" /> | ||
+ | <meta-data android:name="android.app.lib_name" android:value="game" /> | ||
+ | </activity> | ||
+ | </pre> | ||
+ | |||
+ | ==" AD_SERVICES_CONFIG"エラーが出る場合== | ||
エラー詳細 | エラー詳細 | ||
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] | ||
行133: | 行182: | ||
'libmain.so' | 'libmain.so' | ||
</pre> | </pre> | ||
− | プロジェクト直下のLibraryに3つlibunity. | + | プロジェクト直下のLibraryに3つlibunity.soがあったが、ここらへんが問題なのかも・・。→どれかのライブラリが、インストールしてるのだろうけど、一旦このバージョン、諦めたので、追加調査せず |
<pre> | <pre> | ||
Library/Bee/Android/Prj/IL2CPP/Gradle/unityLibrary/src/main/jniLibs/arm64-v8a/libunity.so | Library/Bee/Android/Prj/IL2CPP/Gradle/unityLibrary/src/main/jniLibs/arm64-v8a/libunity.so | ||
行140: | 行189: | ||
</pre> | </pre> | ||
− | + | ↑のAD_SERVICES_CONFIGエラー時に、一緒にで出たが、AD_SERVICES_CONFIG側を解決したら、このエラー消えた。 | |
==FileProviderエラーが出る時== | ==FileProviderエラーが出る時== |
2024年9月15日 (日) 21:46時点における最新版
目次
- 1 Unity側
- 2 ios側
- 3 android側
- 3.1 compileSdkVersionのエラー
- 3.2 DllNotFoundException: Unable to load DLL 'FirebaseCppApp-12_1_0'エラーが出る
- 3.3 RequestConfiguration.Builder()が存在しないエラー
- 3.4 "com.google.android.gms:play-services-measurement-api:22.0.2 collides with another value"エラーがでる場合
- 3.5 "AndroidManifest.xml, you can use the AGP Upgrade Assistant"エラーが出る時
- 3.6 "This Android Gradle plugin (8.3.0) was tested up to compileSdk = 34."エラーが出る時
- 3.7 "CMakeLists.txt"エラーが出る時
- 3.8 "BaseUnityGameActivityTheme) not found."エラーが出る時
- 3.9 " AD_SERVICES_CONFIG"エラーが出る場合
- 3.10 "minSdkVersion is less than or equal to targetSdkVersion."エラーがでる場合
- 3.11 "libunity.so"エラーがでる場合
- 3.12 FileProviderエラーが出る時
- 3.13 minSdkVersionのエラーが出る時
- 3.14 BaseUnityGameActivityThemeのエラーが出る時
- 3.15 AdMobで、"to find your app ID"エラーが出る時
Unity側
TMP_InputFieldのEditorの文字化けについて
TMProをImport TMP Essentialsするとなおる
合わせてほかもバージョンアップ
- GoogleMobileAds-v9.2.0(v8.7.0から)
- firebase_unity_sdk_12.1.0(11.8.0から)
以下でアンインストール対応して、インストールすると良いかも。
- 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
ios側
エラー詳細
error: accessing build database "Library/Developer/Xcode/DerivedData/Unity-iPhone-glynammnnqkwojedhubmfpcydqmk/Build/Intermediates.noindex/XCBuildData/build.db": database or disk is full
対応方法
- pc再起動で治った。
android側
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にした。→治らず・・
"AndroidManifest.xml, you can use the AGP Upgrade Assistant"エラーが出る時
エラー詳細
If you've specified the package attribute in the source AndroidManifest.xml, you can use the AGP Upgrade Assistant to migrate to the namespace value in the build file. Refer to
Assets/Plugins/Android/mainTemplate.gradle にnamespaceがなければ追加する
android { + namespace "com.unity3d.player" compileSdk **APIVERSION**
"This Android Gradle plugin (8.3.0) was tested up to compileSdk = 34."エラーが出る時
compileSdkを35とかにしてれば、compileSdkを、34に設定すればよい。
"CMakeLists.txt"エラーが出る時
エラー詳細
Android/Prj/IL2CPP/Gradle/unityLibrary/src/main/cpp/CMakeLists.txt release|arm64-v8a : com.google.prefab.api.NoMatchingLibraryException: No compatible library found for //games-frame-pacing/swappy. Rejected the following libraries: 118 actionable tasks: 2 executed, 116 up-to-date
Assets/Plugins/Android/mainTemplate.gradle
android { namespace "com.unity3d.player" + ndkPath "**NDKPATH**" + ndkVersion "**NDKVERSION**"
"BaseUnityGameActivityTheme) not found."エラーが出る時
対応策 Assets/Plugins/Android/AndroidManifest.xml の以下を削除
<activity android:name="com.unity3d.player.UnityPlayerGameActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <meta-data android:name="unityplayer.UnityActivity" android:value="true" /> <meta-data android:name="android.app.lib_name" android:value="game" /> </activity>
" AD_SERVICES_CONFIG"エラーが出る場合
エラー詳細
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
↑のAD_SERVICES_CONFIGエラー時に、一緒にで出たが、AD_SERVICES_CONFIG側を解決したら、このエラー消えた。
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を一旦入れてみて、エラーが消えるか確認する。 このパターンで、エラーが消えることはあった。