AppSeedのアプリ開発ブログ

アプリ開発会社AppSeed(アップシード)開発担当のブログです。iOS、Android、Unity、Cocos2d-xなどアプリ開発関連のTipsや備忘録、アプリ開発に役立つ情報を発信します。

Unityで作ったAndroidアプリのtargetSDKを31に上げた時に出たエラーの対処法に関するメモ

最近、仕事でAndroidアプリを開発したのですが、Google Play Consoleで新規リリースのためのアプリを登録する際に以下のようなエラーが出てaabのアップロードに失敗しました。

Unityで作ったAndroidアプリのtargetSDKを31に上げた時に出たエラーの対処法に関するメモ



APIレベル31以上を対象とする必要があります。アプリの対象APIレベルを31以上に変更してください。」とのことなので、targetSDKのAPIレベルを変更する必要があるようです。

 

Unityで作ったAndroidアプリのtargetSDKを31に上げた時に出たエラーの対処法

targetSDKのAPIレベルを変更すること自体は特に難しい事ではないですが、変更することでアプリが今までの挙動とは違う動きをする事があるので、できればtargetSDKは変更したくありませんが、アプリバイナリをアップロードできないのは困るので、やるしかなさそうです。

 

とりあえず、Unity上でtargetSDKを変更してビルドしたところ、案の定以下のようなエラーが出ました。

Installation failed with the following output:

Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8

The APKs have been extracted in the directory: /var/folders/ct/q0wqz6kn6hz_5hj0g31s13500000gn/T/2565412307516586095

[BT:0.10.3] Error: Installation of the app failed.

 

DeploymentOperationFailedException: Installation failed. See the Console for details.

UnityEditor.Android.AndroidDeploymentTargetsExtension.UploadAndroidAppBundle (UnityEditor.Android.AndroidBuildProperties buildProperties, UnityEditor.DeploymentTargets.IDeploymentTargetsMainThreadContext context, UnityEditor.Android.AndroidDevice device,

 

UnityException: Could not find any valid targets to launch on for Android

UnityEditor.PostprocessBuildPlayer.LaunchOnTargets (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget buildTarget, UnityEditor.Build.Reporting.BuildReport buildReport, System.Collections.Generic.List`1[T] launchTargets) 

 

UnityException: Could not find any valid targets to launch on for Android

以下のエラーも出てました。

INSTALL_PARSE_FAILED_MANIFEST_MALFORMED: Failed parse during installPackageLI: /data/app/base.apk  com.unity3d.player.UnityPlayerActivity: Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present

 

Android12のPixcel5に実機転送したところ発生したエラーで、ビルドは成功するものの、アプリをインストールできない感じです。

 

最終的に、以下の記事が参考になりました。

developers.google.com

上記を参考に、exportedタグをAndroidManifest.xmlに追加してビルドし直したところ、無事アプリをインストールできました。

Unityで作ったAndroidアプリのtargetSDKを31に上げた時に出たエラーの対処法に関するメモ

その他、Android版ビルド時に遭遇したエラー1

targetSDKを31にアップデートした際、以下のようなエラーに初めて遭遇したので、今後の為にメモとして残しておきたいと思います。

TLS Allocator ALLOC_TEMP_THREAD, underlying allocator ALLOC_TEMP_THREAD has unfreed allocations, size 67

上記のエラーは、プロジェクトデータを読み込み直すことで解決できました。

以下を参考にしました。

qiita.com

 

見慣れないエラーだと焦りますね....

 

 

 お知らせ

謎解き推理ゲーム「イラスト捜査」を最近リリースしました!

もしよろしければダウンロードお願い致します!

app-seed.com

イラスト捜査-謎解き推理ゲーム-

イラスト捜査-謎解き推理ゲーム-

  • AppSeed, Incorporated.
  • ゲーム
  • 無料

apps.apple.com

play.google.com