[Unity 3 D]AR coreで構築されたファイルが常に停止している場合


ARアイテムだから当然!ARを開発するので環境が良いのかな….確認のためにテスト構築を行い、実際のマシンでテストを行いました.
△アンドロイドスタジオのシミュレータを使ってみましたが、原因が分からず、取り付けが悪いので諦めました.
しかし、もちろんうまくいくわけではなく、「終わり続ける」ことを2度も直面した.
正確に言えば、いっそスクリーンが電源を入れていないうちにまた電源を切った.携帯を動かす
でも解決した!
まず使用する汎用バージョンや各パッケージなど...乙の赤字は以下の通りです.
Unity : 2020.3.23f1
AR Foundation : 4.1.7
ARCore XR Plugin : 4.1.7
試験装置:Samsung Gallaxy S 1+/android 11

32ビットバージョンと64ビットバージョン


交換しなければならないものはすべて交換しましたが、全然開いていません.何か問題があったのか分かりません.ソフトウェアは32ビットバージョンで、携帯電話は32ビット互換性のない携帯電話です.
チェックボックスをオンにすると、上記の問題を非常に簡単に解決できます.
Unityの32 bitバージョンがベースなので、それを確認することが重要です
プロジェクト設定>プレーヤー>(Android)構成>ARM 64チェック
ARMv 7については32ビットシステムではARCOREが動作しないと判断しチェックをキャンセルした
また、64ビットコンストラクションを使用する場合は、上記のスクリプトパッケージの値をIL 2 PPPに変換する必要があります.(でもそのせいか、後で問題が発生しました)

修理しても表示されません..。


IL 2 PPPでARCOREが作動しない…実は私は正確な理由を知らない.ここで勉強の必要性を感じました
つまり、解決策はこのフォーラムで見つけることができます.これはIL 2 PPPの問題です...

IL2CPP? mono?


ScriptBeckEndと言っても理解できなかった….
Unityでは、C#を使用してスクリプトを作成しますが、このコードに従ってデバイス上で実行するのは無理なので、マシン言語に変換する必要があります.
monoはC#コードを仲介言語(IL)に変換し、マシン言語に再翻訳して顧客に渡す.
IL 2 PPPはC#コードをILLに変換するのは同じですが、実際にはIL+をC++に変換します.
最終的には高級言語に戻るのは無駄だと思うかもしれませんが、最近はほとんどの機械にC++コンパイラ(高級言語→機械言語)があるので、単独で機械言語に翻訳する必要はありません.
いずれにしても、IC 2 PPPは安全性に優れているので、機械言語に翻訳する必要がなく、迅速な利点があり、64ビット体制と互換性があるので使用していると思います.

上は単点、下はIL 2 PPP、クリックするとアクセスできます
要するに、ソリューションは、Assetフォルダに以下の内容を含むlinkです.xmlファイルを追加します.△既に存在する場合は、修正すればよい.preseve"none"から"all"に変更すればよい.
<linker>
  <assembly fullname="Unity.XR.ARCore" ignoreIfMissing="1" preserve="all"/>
  <assembly fullname="Unity.XR.ARKit" ignoreIfMissing="1" preserve="all"/>
  <assembly fullname="Unity.XR.ARFoundation" ignoreIfMissing="1" preserve="all"/>
  <assembly fullname="Unity.XR.ARSubsystems" ignoreIfMissing="1" preserve="all"/>
</linker>

Unity Technologiesのtdmowrerリンク.xmlを修正させてもらいましたが、そのファイルが全然ないので、いくつかのテーマ記事を参考に追加しました.2019年に次のバージョンが変更されます・・・
+)未使用のモジュールをこのリンクに接続します.xmlファイルからフィルタリングできるそうですが、その部分はreserve部分のようです.まず急いで全部書き直しましたが、私たちのプロジェクトの状況はARKITを使わないので、修正してからテストする必要があるかもしれません.
本当に泣きそうになりました.iosユーザーでさえ...ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ今はもう心配事を置いて、もう一度努力すべきだ...