エラー:Androidエミュレーターを実行しようとすると、32ビットLinux Androidエミュレーターバイナリが非推奨になります


14

Ubuntu 10.10、32ビットでAndroid開発環境を設定しました。エミュレータを起動したときにAVDを作成した後、次のエラーを受け取りました。

エラー:32ビットLinux Androidエミュレーターバイナリは非推奨
です。それらを使用するには、少なくとも次のいずれかを実行する必要があり
ます。-「エミュレーター」を呼び出すときに「-force-32bit」オプションを使用します。
-環境でANDROID_EMULATOR_FORCE_32BITを「true」に設定します。
どちらを使用しても32ビットバイナリを使用できますが、これらは将来のAndroid SDKリリースで消滅することに注意してください。
それが起こる前に、64ビットLinuxシステムへの移行を検討してください。

私が使用しているADTバージョンは23.0.3.1327240です。私が使用しているSDKライブラリは32ビットです。親切に助けてください。ありがとう。


1
64ビットへの新しいバージョンスイッチにアップグレードします。
マテオ14年

4
サポートされているUbuntuリリースにアップグレードする必要があります。通常、これはサポートされていないものとしてクローズしますが、この問題は実際には古いリリースに固有のものではないため、サポートされているリリースで他の人がこの問題を経験する可能性があると思います。ただし、少なくとも12.04にアップグレードすることを強くお勧めします。
セス

3
私は同意します:これはEoLリリースの問題に関する新しい質問の少数であり、(a)回答がリリースに依存しないこと、および(b)質問と回答の両方(これらは共通のアクティビティを伴うため非自明な落とし穴)は、他の人にとって特に価値があると思われます。これを編集してすべてのリリースに一般化できますが、開いたままにしておく必要があります。@MohanrajManiしかし、10.10の使用は続けないでください。長い間サポートされておらず、その意味の一部は、新しく発見されたセキュリティ脆弱性を修正するために更新されていないことです。使用するのは危険です。
エリアケイガン14年

1
これはUbuntu 10.10とは関係ありませんが、64ビット用に設計された32ビットLinuxディストリビューションでAndroidエミュレータを使用しようとしたことが原因です。Intel 386ディストリビューションを使用している場合、Ubuntu 12.xxと14.xxでも同じことが起こります。また、最後に64ビットに切り替えることができないことを確認しました。64ビットはAMDでのみサポートされ、32ビットはインテルでのみサポートされます。
JSON

1
@JSON Ubuntuの64ビットバージョンは、64ビットAMDプロセッサーと64ビットIntelプロセッサーの両方で実行されます。「amd64」の「amd」は、AMDのみを意味するわけではありません。同様に、32ビットバージョンは、(32ビットおよび-64ビット)AMDおよび(32ビットおよび-64ビット)Intelプロセッサの両方で実行されます。「i386」の「i」は、Intel専用であることを意味しません。 。Ubuntuの64ビットバージョンはAMD CPUとのみ互換性がありますを参照してくださいi386のダウンロードとamd64の違いは?詳細については。(ただし、この質問はUbuntu 10.10リリースに固有のものではないことに同意します。)
Eliah Kagan

回答:


15

このエラーが発生しているのは、明らかに32ビットシステムで実行しており、Androidエミュレーターが64ビット環境で最適に動作するように設計されているためです。唯一の実際のソリューションは、64ビットオペレーティングシステムをインストールすることです。

ハードウェアが64ビットをサポートしていないか、すぐに再インストールできない場合は、コマンドラインからエミュレーターを起動するときに渡すか、環境で(エラーが示すように)設定することにより、一時的に問題を回避できます。これを実行するには、次を実行します。 -force-32bitANDROID_EMULATOR_FORCE_32BITtrue

gedit .profile  

ターミナルから。テキストを追加します。

export ANDROID_EMULATOR_FORCE_32BIT=true  

ファイルの最後まで保存して閉じます。現時点ではテストできませんがsource .profile、ターミナルから実行するか、変更を有効にするために再起動する必要があります。

エミュレータを起動してみてください。

Googleは最終的にエミュレータの動作を停止させる32ビットバイナリを削除するため、64ビットオペレーティングシステムをインストールしてAndroid開発を継続することを強くお勧めします。Android自体もx64アーキテクチャに移行しているため、32ビットのままにすることで、すぐに取り残されます。


4

私は一つの素晴らしい解決策を持っています。EclipseまたはNetBeansで開始できます。試してください:

  1. Eclipseで、Androidプロジェクトフォルダーをクリックし、[実行]> [構成の実行...]を選択します。

  2. [実行構成]ダイアログの左側のパネルで、Androidプロジェクトの実行構成を選択するか、新しい構成を作成します。

  3. [ターゲット]タブをクリックします。

[追加のエミュレータコマンドラインオプション]フィールドに、次のように入力します。

-force-32bit

この実行構成を使用してAndroidプロジェクトを実行します。

NetBeansの場合:1.デバッガーを選択する場所は、カスタマイズ...

  1. エミュレータオプションで -force-32bit
  2. [OK]をクリックします。アプリケーションを実行します

1

このファイルを編集します。

Ubuntuでターミナルを開く

gedit .bashrc

このテキストを貼り付けます:

export ANDROID_EMULATOR_FORCE_32BIT=true

ソースを更新:

source ~/.bashrc

3
~/.bashrcルートとして編集する必要がないため、これを使用する理由ありませsudo。(私はその環境変数を置くことをお勧めしたいのにそれに加えて、これは、合理的で親切な答えである~/.profile代わりに、セスが示唆するように -すなわち、なしか、おそらく割り当てを入れてexport`〜/ .pam_environment --in。)
Eliahケーガン

@EliahKagan このQ / Aを踏まえると~/.profile、おそらく最高の場所ではないでしょうか?ウィキは、具体的には、環境変数を置くことを示唆したので、私はやや混乱しています~/.profile...
セス・

1

シェルスクリプトを作成します。

#!/bin/bash
#
#   set export ANDROID_EMULATOR_FORCE_32BIT=true

export ANDROID_EMULATOR_FORCE_32BIT=true
/opt/adt-bundle-linux-x86-20140702/eclipse/eclipse

シェルスクリプトを実行可能ファイルに変更して実行し、Eclipseを起動します

/opt/adt-bundle-linux-x86-20140702/eclipse/eclipse eclipse実行可能ファイルへのパスです。


これは、Titaniumを使用するときに機能しましたが、SHファイルを編集するだけです。これが動作します。
jfreak53

1

次のように、Androidスタジオのエミュレーター構成を更新することにより、この問題を解決しました。

  1. Android Studioの[実行]-> [構成の編集]メニューに移動します。
  2. Androidアプリケーションでアプリ名を選択します左ペインので
  3. 右ペインの[エミュレータ]タブを選択します
  4. [追加のコマンドラインオプション:]にチェックマークを付け、横のテキストボックスに-force-32bitと入力します
  5. [OK]を選択して、アプリを再度実行してください。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.