facebook twitter hatena line email

「Unity/バージョンアップメモ/unity6000.0.12f1」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(" [com.google.android.gms:play-services-ads-lite:22.6.0]"エラーが出る場合)
("libunity.so"エラーがでる場合)
行140: 行140:
 
</pre>
 
</pre>
  
下のminSdkVersionエラー時に、一緒にで出たが、minSdkVersion側を解決したら、このエラー消えてたかも・・
+
↑のAD_SERVICES_CONFIGエラー時に、一緒にで出たが、AD_SERVICES_CONFIG側を解決したら、このエラー消えてたかも・・
  
 
==FileProviderエラーが出る時==
 
==FileProviderエラーが出る時==

2024年9月15日 (日) 01:12時点における版

(2024/8/3時点、iOSは問題なかったが、Androidビルドが、うまくいかなかったので、一旦、保留)

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にした。→治らず・・

" 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を一旦入れてみて、エラーが消えるか確認する。 このパターンで、エラーが消えることはあった。