linux学习(六) Ubuntu14.04(64位)配置android环境报错(...adb": error=2, 没有那个文件或目录)的解决方案

1.问题描述:

最近测试android环境的时候,运行程序,提示以下错误信息:

Cannot run program error=2, 没有那个文件或目录‘ while attempting to get adb.

运行环境是 unbuntu 14.04 64位系统;

2.问题原因:

在网上搜索答案的时候,找到了问题的原因:因为系统是64位的,而Android sdk只有32bit的程序.所以就存在这不兼容的问题,缺少一些sdk运行的库.

3.解决方案:

很多软件只有32位的,还有很多比较依赖32位库,在unbuntu 12.04及以前的版本中都可以直接使用命令:安装ia32-libs库

sudo apt-get install ia32-libs 

但是从unbuntu 13.10开始就已经废弃了 ia32-libs,但是我们还是可以使用多构架:打开unbuntu的32位支持功能;

首先,确认是否是一个64构架的内核; 打开终端输入

dpkg --print-architecture

显示的是amd 64 ,说明是64位构架内核

然后,确认是否打开了多构架支持功能;多构架支持功能可以让你在64位库的情况下使用32位库.

在终端输入:

dpkg --print-foreign-architectures

显示的是i386,说明已经打开了多构架支持功能;

显示其他的说明没有打开这个功能,我们就打开多构架支持功能;

在终端输入:

sudo dpkg --add-architecture i386
sudo apt -get update

然后就会下载更新然后运行.

之后再输入:

sudo apt-get dist-upgrade

检查拥有的库文件是否有更新版本.

如果有的话,会提示你是否需要更新(y/n).

这样我们就实现了多构架支持功能.

回到上面我遇到的问题,在打开多构架支持功能之后,我们再安装 lib32z1-dev (编译android需要的文件,参看网上的解答)

在终端中输入:

sudo apt-get install lib32z1-dev

把所有的东西都安装好了之后,再重新运行了一次,发现之前的那个问题好像是解决了,但是又出现了另一个问题:

adb: error while loading shared libraries: libstdc++.so.6: cannot open share

这里好像是缺少了libstdc++.so.6:这个共享库,在网上找到了答案,是缺少lib32stdc++6 这个包,我们直接安装这个包.

sudo apt-get install lib32stdc++6

安装完毕之后,在重新运行一次,发现就没有上面的这两种问题了,说明问题已经解决.

4.问题收获;

在解决这个问题的过程中,在网上查阅了很多资料,在查阅资料的过程中发现了一个很好用的工具 apt-file,

默认情况下unbuntu没有安装这个工具,而且安装这个工具的时候需要root权限.

在终端中输入:

apt-get install apt-file

每次在使用之前都有更新缓存,保证数据是最新的:

apt-file update

这个工具的特点就是:可以根据apt的工作机制,以特定的文件名作为参数来查询该文件会伴随哪些包的安装而在系统中创建.

举个例子,假设在系统安装某些软件失败时提示缺少example.so这个库文件,那么可以执行 (参考于 http://www.guokr.com/blog/749085/)

apt-file search example.so

该命令返回如下信息:

example: /usr/lib/example.so

返回信息表示安装example包会在/usr/lib/目录下创建example.so文件。接下来只需安装example包便可以解决依赖。

apt-get install example

由此可见,这个工具简直就是解决依赖关系的利器啊!

时间: 2024-12-27 20:06:05

linux学习(六) Ubuntu14.04(64位)配置android环境报错(...adb": error=2, 没有那个文件或目录)的解决方案的相关文章

64位Ubuntu配置android环境报错(...adb": error=2, 没有那个文件或目录)

Failed to get the adb version: Cannot run program "/home/jayhomzhou/android/android-sdk/platform-tools/adb": error=2, 没有那个文件或目录 64位系统,Ubuntu11.04,搭建JDK,Android环境,把android SDK复制过来后,里面的adb和其它命令的都不能使用. 错误提示:android-sdk-linux_86/platform-tools/adb:

VisualBox ubuntu14.04 64位 android4.4.4源码编译总结

折腾了好几天,今天终于编译通过,用了4个多小时,太不容易了.如下图所示: 软件环境 虚拟机:VisualBox 操作系统:Ubuntu14.04 64位 android源码:android-4.4.4_r1 在这过程中遇到各种问题,通过apt-get install 安装相应的库可以解决一部分.编译2-3个小时的时候遇到一个棘手的问题, “make: *** [out/target/product/mako/obj/SHARED_LIBRARIES/libwebviewchromium_inte

Ubuntu14.04(64位)安装ATI_Radeon_R7_M265显卡驱动

电脑型号:Dell inspiron 14-5447 笔记本 显卡配置:集成显卡Intel核心显卡,Cpu是i5-4210U;独立显卡ATI_Radeon_R7_M265 网上关于ATI/Intel双显卡的帖子很多,刚开始我装的是Ubuntu12.04(64位). 在12.04版本下,使用lshw -c video命令查看显卡信息,集显和独显是都没有驱动的.在这种情况下,照网上方法装fglrx闭源驱动各种失败,换成Ubuntu14.04(64位)后,Intel集显的驱动有了,使用网上办法装fgl

ubuntu14.04 64位安装WPS(成功解决没有ia32-libs的问题)

前几天,就把自己的系统换成了ubuntu14.04 64位的.然后就是安装WPS了(戳这里进入官网下载).由于官网提供的WPS是32位的操作系统,所以64位的操作系统不能用.因此我们还要安装32位操作系统的库文件.官网提供的方法为: 但是发现ubuntu14.04根本就没有这个.在网上找了大半天,试了好多办法都没有用,今天又来谷歌,终于找到一个可行的办法.下面是我的一些操作: [email protected]:~$ sudo passwd root [sudo] password for zh

Ubuntu14.04 (64)位系统安装genymotion模拟器和集成到android studio!!!

Ubuntu14.04 (64)位系统安装genymotion模拟器: 1.在应用商店里面安装VirtualBox 2.在genymotion的官网上下载,首先要注册,要去邮箱完成验证 2.注册后登陆,然后点击get genymotion 3.进入后什么也别管,直接点击download 4.进入页面后下载需要的文件,下载Linux64位的版本 5.进入下载文件夹,会发现有一个genymotion-2.5.0_x64.bin的文件,首先在终端里面赋予这个文件夹权限chmod -x genymoti

ubuntu14.04(64)下运行报(...adb": error=2, 没有那个文件或目录)

错误信息为:Cannot run program "/home/xxxx/android/android-sdk/platform-tools/adb": error=2, 没有那个文件或目录 原因:由于是64位的linux系统,而Android SDK只有32位的,需要安装一些支持包才能使用.安装: sudo aptitude install lib32bz2-1.0 解决了这个问题.不过,又报了一个新的错误:编译找不到 libstdc++.so.6 文件 接下来我们再安装一个程序:

windows 2003 64位系统php运行报错:1%不是有效的win32应用程序解决办法

windows 2003 64位系统php运行报错:1%不是有效的win32应用程序 解决办法:运行-CMD cscript c:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

Window2003 64位IIS连接ACCESS报错“Microsoft.Jet.OLEDB.4.0”问题

Window2003 64位IIS连接ACCESS报错“Microsoft.Jet.OLEDB.4.0”问题 由于64位操作系统不支持Microsoft OLE DB Provider for Jet驱动程序,也不支持更早的Microsoft Access Driver (*.mdb)方式连接.所以用于Access 和 Excel 数据库的 MicrosoftOLE DB Provider for Jet 在 64 位版本中不可用,也就是说,如下两种连接字符串都已经无法正常工作了:"Provid

ubuntu14.04 64位 安装H3C iNode客户端

环境: OS: ubuntu14.04LTS 64位 iNode:  iNode2.40-R0162 for linux(此版本只有32位,而且是很久以前的版本) 安装方法: 第一种:主要参考:http://www.lxway.com/491008804.htm 检查本机是64位还是32位: dpkg --print-architecture 然后可以看到amd64,证明当前系统是64位的.然后再输入 dpkg --print-foreign-architectures 看到的是i386证明你已