错误:尝试运行Android仿真器时,已弃用32位Linux Android仿真器二进制文件


14

我已经在32位Ubuntu 10.10中设置了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位。
Mateo

4
您应该升级到受支持的Ubuntu版本。通常,我们会以不受支持的方式将其关闭,但是由于此问题并不是真正针对较早的发行版,因此我认为其他人可能会在受支持的发行版上遇到此问题,所以我将其保留。但我强烈建议您至少升级到12.04。
塞斯

3
我同意:这是关于EoL版本中问题的少数新问题,其中(a)我们知道答案与发布无关,并且(b)问题和答案均是这样(因为它们涉及与非显而易见的陷阱)似乎对他人具有特别高的价值。可以对其进行编辑以将其推广到所有版本,但是我们应该保持打开状态。@MohanrajMani但是请不要继续使用10.10。长期以来,它一直不受支持,这意味着它没有被更新以修复新发现的安全漏洞。使用有风险。
伊莱亚·卡根

1
这与Ubuntu 10.10无关,但是具体是由于在为64位设计时尝试在32位Linux发行版上使用android仿真器。如果使用intel 386发行版,在Ubuntu 12.xx和14.xx上也会发生同样的事情。另外,我最后检查一下您不能只切换到64位。AMD仅支持64位,英特尔仅支持32位。
JSON

1
@JSON Ubuntu的64位版本可在64位AMD和64位Intel处理器上运行。“ amd64”中的“ amd”并不意味着它仅适用于AMD。同样,该32位版本可在(32位和-64位)AMD和(32位和-64位)Intel处理器上运行-“ i386”中的“ i”并不意味着它仅适用于Intel 。请参阅64位版本的Ubuntu是否仅与AMD CPU兼容?i386下载和amd64之间的区别?有关详细信息。(不过,我同意这个问题并不特定于Ubuntu 10.10发行版。)
Eliah Kagan 2015年

Answers:


15

之所以会出现此错误,是因为您显然是在32位系统上运行的,而Android仿真器旨在在64位环境中最佳运行。唯一真正的解决方案是安装64位操作系统。

如果您的硬件不支持64位,或者您现在无法重新安装,则可以通过从命令行启动仿真器时通过传递或通过在环境中设置为来暂时绕过该问题(如错误所示)。您可以通过运行以下命令进行操作: -force-32bitANDROID_EMULATOR_FORCE_32BITtrue

gedit .profile  

从终端。添加文字:

export ANDROID_EMULATOR_FORCE_32BIT=true  

到文件末尾,然后保存并关闭。我目前无法对其进行测试,但您要么需要source .profile从终端运行,要么重新启动以使更改生效。

尝试启动模拟器。

强烈建议您安装64位操作系统以继续进行Android开发,因为Google最终会删除32位二进制文​​件,这将导致模拟器停止工作。Android本身也正在朝着x64架构迈进,因此,如果使用32bit,您很快就会落伍。


4

我有一个很好的解决方案。您可以从eclipse或netbeans开始。尝试:

  1. 在Eclipse中,单击您的Android项目文件夹,然后选择“运行”>“运行配置...”。

  2. 在“运行配置”对话框的左侧面板中,选择您的Android项目运行配置或创建新配置。

  3. 单击目标选项卡。

在其他仿真器命令行选项字段中,输入:

-force-32bit

使用此运行配置运行您的Android项目。

在netbeans中,您:1.选择调试器时,选择了Customize...。

  1. 在模拟器选项中写入 -force-32bit
  2. 单击确定。并运行应用程序

1

编辑此文件:

在Ubuntu中打开终端

gedit .bashrc

粘贴此文本:

export ANDROID_EMULATOR_FORCE_32BIT=true

刷新源:

source ~/.bashrc

3
~/.bashrc没有需要为根,所以没有理由使用进行编辑sudo此。(除此之外,这是一个合理的和有用的答案,但我建议把这个环境变量~/.profile,而不是作为赛斯建议或甚至把分配-即没有export。--in`〜/ .pam_environment)
利雅卡根

的@EliahKagan在光这个Q / A也许~/.profile毕竟不是最好的地方?我有些困惑,因为Wiki特别建议将环境变量放入~/.profile..
Seth 2014年

1

创建一个shell脚本:

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

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

将Shell脚本更改为可执行文件并运行以启动Eclipse

/opt/adt-bundle-linux-x86-20140702/eclipse/eclipse 是Eclipse可执行文件的路径。


这在使用Titanium时有效,但只需编辑其SH文件。所以这可行。
jfreak53

1

我已通过如下更新Android Studio中的模拟器配置来解决此问题。

  1. 转到Android Studio中的“运行”->“编辑配置”菜单。
  2. 在左窗格的“ Android应用程序”下选择应用程序名称
  3. 在右侧窗格中选择“仿真器”选项卡
  4. 勾选“其他命令行选项:”,然后在其旁边的文本框中输入-force-32bit
  5. 选择“确定”,然后尝试再次运行该应用程序。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.