1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Unity+Jenkinsでビルドしたapkがdllを見つけられない

Posted at

はじめに

こんにちは
ゲーム開発を仕事にして3年目のプログラマーの七埜です。
今回私が開発中に引っ掛かって2週間ぐらい悩んだことが解決したので備忘録として残します。

開発環境

  • Unity2018.2.20f1
  • Firebase 5.4.4
  • Jenkins

問題

今回発生した問題は、
Jenkinsで起動したUnityでビルドをした際に特定端末
[FirebaseX.X.X DLLNOTFOUNDEXCEPTION]というエラーが発生して
起動はするがアプリが正常に進行しません。

基本的な対応としましては下記の参考文献のような対応をするとSDKが更新されるので解決します。

しかし、散々試しましたがJenkinsでビルドをする場合これでは解決しません。

解決策

今回の解決策は
バッチビルドをする際にサイレントモードでビルドをしない
です。
つまり

Before

/Applications/Unity/Unity.app/Contents/MacOS/Unity -batchmode -quit -logFile <ログファイルへのパス> -projectPath <UnityProjectへのパス> -executeMethod <実行したメソッド>

After

/Applications/Unity/Unity.app/Contents/MacOS/Unity -quit -logFile <ログファイルへのパス> -projectPath <UnityProjectへのパス> -executeMethod <実行したメソッド>

わかりづらくて申し訳ないですが
-batchmodeを削除してください。
これでサイレントでUnityが立ち上がらなくなります。

何故サイレントがだめなのかというと正直分かりません!
が、個人的な見解としましては
サイレントビルドではUnity起動時に走るFirebaseのAuto Resolverが走らないのではないかと思っています。

最後に

いかがでしたでしょうか?
これにはまってJenkinsでビルドしたのに端末でプレイできなく
泣く泣く手動ビルドをしていました。
これでJenkinsのビルドに頼れるので自分の環境をビルドに提供しなくてよくなりました!

もしここ間違っているよ等ありましたら教えていただければ幸いです。
皆様が同じエラーではまった際の助力になれば幸いです。

参考文献

dll not found について
https://github.com/firebase/quickstart-unity/issues/324
https://stackoverflow.com/questions/51363894/firebase-auth-and-unity3d-unable-to-find-firebasecppapp-5-1-1
バッチビルドについて
https://docs.unity3d.com/ja/current/Manual/CommandLineArguments.html

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?