2017-01-26 12 views
0

私はAndroidプラットフォーム上でARM64-v8のネイティブプラグイン(共有ライブラリ、.so)を構築しました。Unity3Dがアンドロイドプラットフォーム上で32ビットのネイティブプラグイン(.so)しかロードできないのはなぜですか?

これはプレーンなアンドロイドアプリでうまくいきます。

しかし、Unity3Dがそれを読み込むと、「... .soは32ビットではなく64ビットです...」というエラーメッセージが表示されました。

私は、Unity3Dで64ビットアプリケーションを構築するのにil2cppを使用しようとしましたが、動作しません。

Unity3Dはアンドロイドプラットフォーム上の64ビットネイティブプラグインをサポートしていませんか?

それとも

私はAndroidプラットフォーム上で、64ビットのネイティブプラグインを使用するにはどうすればよいですか?

いくつか考えてください。

ありがとうございました。

現在、私が使用してどのようなツールは以下の通りです:

OS - Windowsの10の64ビット

Unity3D(編集?) - 個人5.5.03f(64ビット)

AndroidNDK64 - AndroidのNDKのr10e Unityは現在、64ビットのネイティブプラグインをサポートしていませんil2cpp

+0

Unityプロジェクトのどのディレクトリに.soプラグインを入れましたか? – Programmer

+0

@Programmer私はAssets/Pluginsで試してみました。 – TwisTeDStRiDeR

+0

いいえ、Androidプラグインの2つの有効な[ディレクトリ](https://docs.unity3d.com/Manual/PluginsForAndroid.html)があります。 'Assets/Plugins/Android/libs/x86/'**および**' Assets/Plugins/Android/libs/armeabi-v7a/'のようになります。 'Assets/Plugins/Android/libs/x86_64 /'に入れてください。それが実際に働くかどうか私に教えてください。 x86_64は64ビット用です。多分それはサポートされていませんが、まずそれを試してください。 – Programmer

答えて

2

のためにAndroidでしたがって、32ビットバージョンを使用する必要があります。 Androidターゲットの「プレイヤー設定」の「アーキテクチャ」オプションの値(Unity Editor内)を確認します。これらはARMv7とx86の両方の32ビットアーキテクチャです。

Unityは、将来、いつかAndroidの64ビットターゲットをサポートする可能性がありますが、現在の計画についてはわかりません。

+0

これは私が考えたものです。 'Assets/Plugins/Android'ディレクトリに[x86_64'](https://developer.android.com/ndk/guides/x86-64.html#over)フォルダを作成するとどうなりますか?これは使えますか? – Programmer

+0

ありがとう、ジョシュ。 次に、** il2cpp **は** iOS **でのみ動作し、64ビットアーキテクチャ向けに構築しますか? – TwisTeDStRiDeR

+0

@Programmerいいえ、64ビットプラグインはAndroid上で動作しません。それらは単にサポートされていません。 –

関連する問題