2020年08月12日

[Unity] AndroidManifest.xml is missing. の対処法

UnityのAndroid用ビルドをしようとして、AdMobのエラーが出たときの対処法をメモで残しておく。

Unity用のAdMobSDKのパッケージ  ※Ver. 5.3.0 = 2020年8月12日現在
https://developers.google.com/admob/unity/start?hl=ja

エラーメッセージ:
-------------------------------------
BuildMethodException: [GoogleMobileAds] AndroidManifest.xml is missing. Try re-importing the plugin.
ManifestProcessor.StopBuildWithMessage (System.String message) (at Assets/GoogleMobileAds/Editor/ManifestProcessor.cs:175)
ManifestProcessor.OnPreprocessBuild (UnityEditor.Build.Reporting.BuildReport report) (at Assets/GoogleMobileAds/Editor/ManifestProcessor.cs:52)
UnityEditor.Build.BuildPipelineInterfaces+<>c__DisplayClass15_0.b__1 (UnityEditor.Build.IPreprocessBuildWithReport bpp) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildPipelineInterfaces.cs:411)
UnityEditor.Build.BuildPipelineInterfaces.InvokeCallbackInterfacesPair[T1,T2] (System.Collections.Generic.List`1[T] oneInterfaces, System.Action`1[T] invocationOne, System.Collections.Generic.List`1[T] twoInterfaces, System.Action`1[T] invocationTwo, System.Boolean exitOnFailure) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildPipelineInterfaces.cs:391)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at /Users/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:197)
-------------------------------------

「AndroidManifest.xml 」が見つからないということで、パスが誤っているらしい。

Assets > GoogleMobileAds > ManifestProcessor.cs
を開き、40行目あたりにある赤い部分を削除する。

-------------------------------------
string manifestPath = Path.Combine(Application.dataPath, "Plugins/Android/GoogleMobileAdsPlugin.androidlib/AndroidManifest.xml");

string manifestPath = Path.Combine(Application.dataPath, "Plugins/Android/GoogleMobileAdsPlugin/AndroidManifest.xml");
-------------------------------------

これでビルドが通った。
公式のプラグインに誤りがあるなんて!

参考:
https://stackoverflow.com/questions/57920250/androidmanifest-xml-is-missing-try-reimporting-the-plugin
posted by be-style at 14:57| Comment(0) | Unity

2020年03月28日

[Unity] Unity2019.3.6でLWRPからURPに移行しようとして苦労した話

Unity2019.3からLWRP(軽量レンダーパイプライン)からURP(ユニバーサルレンダーパイプライン)に変更されるということで、プロジェクトを更新しようとした話の続き。

先の記事では、とりあえずPackage Manager関連のエラーを解消することができた。

先の記事:
http://blog.be-style.jpn.com/article/187319324.html

シーンを実行したところ、LWRPで作っていたShaderMaterialが紫一色に!
どこかでリンクが切れているときに起こる現象なので調べてみたところ、それっぽい記事を発見。

Unity2019.2までのLWRPプロジェクトをUnity2019.3以降のURPにアップグレードする方法:
https://raspberly.hateblo.jp/entry/UniversalRPUpgrade

LWRP -> Universal RP Upgrade Guide:
https://docs.google.com/document/d/1Xd5bZa8pYZRHri-EnNkyhwrWEzSa15vtnpcg--xUCIs/edit

読んでみたものの、正直、すべてを理解できませんでした(おぃ
Unityのメニューを色々見ていたら「Upgrade Project Materials to UniversalRP Materials」というそれっぽいメニューを発見。

スクリーンショット 2020-03-28 15.35.26.png

これはいけるのでは!

スクリーンショット 2020-03-28 15.35.46.png

「Proceed」を押して実行してみたところ、問題は解消されませんでした!

初心に戻って、問題のシェーダーのInspectorを見直してみることに。

スクリーンショット 2020-03-28 15.59.41.png

どうも初期化されてないっぽいということで、Shader Editorを開き、「Save Asset」を実行してみました。

スクリーンショット 2020-03-28 16.00.11.png

Inspectorの表示を見ると初期化されたっぽい!

スクリーンショット 2020-03-28 16.00.25.png

これでシーンをもう一度実行してみたところ、ちゃんとシェーダーが動きました。
よかったー。
posted by be-style at 16:37| Comment(0) | Unity

[Unity] Unity2019.3.6 にバージョンアップしたら Unable to add package [com.unity.render-pipelines.universal@7.3.1]

Unity2019.3からLWRP(軽量レンダーパイプライン)からURP(ユニバーサルレンダーパイプライン)に変更されるということで、プロジェクトを更新せねば!で始まった移行作業。

Unityからの告知:
https://blogs.unity3d.com/jp/2019/09/20/how-the-lightweight-render-pipeline-is-evolving/

LWRP -> URP への移行手順:
https://docs.google.com/document/d/1Xd5bZa8pYZRHri-EnNkyhwrWEzSa15vtnpcg--xUCIs/edit

まだ移行は完了していないけど、1つのエラーを解消できたのでメモ。

Unity2019.3.6 にバージョンアップしてプロジェクトを更新したところ、
Unity起動後にエラーが出るようになってしまった。

---------------------------------------------------------
Cannot perform upm operation: Unable to add package [com.unity.render-pipelines.universal@7.3.1]:
One or more dependencies could not be added to the local file system:
com.unity.render-pipelines.core: connect ETIMEDOUT 23.194.79.92:443 [NotFound]
UnityEditor.EditorApplication:Internal_CallUpdateFunctions() (at /Users/builduser/buildslave/unity/build/Editor/Mono/EditorApplication.cs:310)
---------------------------------------------------------

Package Managerを開いて使っていたパッケージを更新しても解消せず。

スクリーンショット 2020-03-28 15.04.03.png

よく見ると、Universal RPのバージョンが「7.1.8」のままで、エラーに書いてある「7.3.1」ではないことに気づく。
Package Manager > Universal RP の左側にある矢印をクリックして開くことができて、
そこで「7.3.1」にアップデートすることができた。

スクリーンショット 2020-03-28 15.04.20.png

見逃してたー。
posted by be-style at 15:18| Comment(0) | Unity