Android Ubuntu-错误:无法创建SD卡

Android Ubuntu-错误:无法创建SD卡,android,linux,ubuntu,Android,Linux,Ubuntu,我看到很多关于写SD卡的帖子,但我相信我的问题是不同的。在构建AVD的过程中,我无法创建SD卡 我最初尝试使用Android SDK和AVD管理器来实现这一点,选择 名称:我的平均值 目标:Android 2.2-API级别8 SD卡:大小:1024 MiB 蒙皮:内置:默认(HVGA) 硬件:属性:抽象LCD密度,值:160 这将弹出一个窗口,其中显示以下消息: “创建AVD‘my_AVD’的结果: 错误:无法创建SD卡。“ 我试图从命令行重复该过程,收到了类似的错误: alex@alex-d

我看到很多关于写SD卡的帖子,但我相信我的问题是不同的。在构建AVD的过程中,我无法创建SD卡

我最初尝试使用Android SDK和AVD管理器来实现这一点,选择
名称:我的平均值
目标:Android 2.2-API级别8
SD卡:大小:1024 MiB
蒙皮:内置:默认(HVGA)
硬件:属性:抽象LCD密度,值:160

这将弹出一个窗口,其中显示以下消息:
“创建AVD‘my_AVD’的结果:
错误:无法创建SD卡。“

我试图从命令行重复该过程,收到了类似的错误:

alex@alex-desktop:~$ android create avd -n my_avd -t 1 -c 1024M
Android 2.2 is a basic Android platform.
Do you wish to create a custom hardware profile [no]no
Error: Failed to create the SD card.
试图按照mksdcard的使用说明进行操作同样没有效果;我认为我基本上缺乏linux经验,这可能会给我带来一个问题。当我尝试使用mksdcard时,它只是报告找不到文件或目录。mksdcard工具是否可以在linux中以这种方式使用

alex@alex-desktop:~$ mksdcard 1024M ./sdcard.iso
bash: /home/alex/android-sdk-linux_x86/tools/mksdcard: No such file or directory
alex@alex-desktop:~$ sudo android create avd -n my_avd -t 1 -c 1024M
我已经将android工具目录添加到我的PATH变量中,但是我觉得我显然还缺少一些东西。也许是某种访问权

尝试使用sudo运行android命令似乎也没有帮助:

alex@alex-desktop:~/android-sdk-linux_x86/tools$ sudo ./android create avd -n my_avd -t 1 -c 1024M
Android 2.2 is a basic Android platform.
Do you wish to create a custom hardware profile [no]no
Error: Failed to create the SD card.

我甚至尝试安装Eclipse和ADT插件,并从那里运行管理器,但都没有效果。任何提示都将不胜感激。高级警告:我是一个Linux新手,所以即使这看起来是一件显而易见的事情,我也可能错过了它。

所以我发现了问题。我使用的是64位Linux安装,默认情况下没有安装ia32 libs包。没有此软件包,mksdcard实用程序将无法运行。安装后,我可以使用AVD管理器毫无问题地构建AVD。

我只是遇到了同样的问题。如果不安装ia32 libs(例如:sudo apt get install ia32 libs),所有SDK工具都不会在64位Ubuntu上运行。

我和你有相同的错误,我刚刚解决了它,所以它可能会帮助你(尽管我不认为你的错误是由我这样的问题引起的)

我发现../tools中的所有工具都没有执行的权限,所以我使用了

chmod -R 777 ../tools

从命令行开始,它终于起作用了。我遇到了一个不同的问题:平台工具在我的路径上,但工具不在。因此,除了没有创建SD卡映像外,其他一切都正常工作。当我在eclipse中创建avd时,并没有注意到这一点,虚拟设备是用一个非常小的sd卡创建的,导致它在应用程序安装时不断抛出媒体不可用错误

alex@alex-desktop:~$ mksdcard 1024M ./sdcard.iso
bash: /home/alex/android-sdk-linux_x86/tools/mksdcard: No such file or directory
alex@alex-desktop:~$ sudo android create avd -n my_avd -t 1 -c 1024M
我发现了这个问题&我找到了一种方法 第一:

然后写下:

sudo chmod 755 mksdcard
mksdcard 1024M ./sdcard.iso
sudo android create avd -n my_avd -t 1 -c 1024M

它应该可以工作:)

我在使用32位Ubuntu时遇到了一个不同的问题。当我试图手动运行mksdcard时,发现一个文件未找到错误

问题是开放jre/jdk。我安装了OracleJava,问题得到了解决。不幸的是,您不能再通过apt/synaptic安装oracle java,必须跳出一些额外的障碍:


MyOS是Oracle Unbreakable Linux 6-为了解决这个问题,我必须安装libstdc++-4.4.6-3.el6.i686软件包。

也有这个问题,在安装i386软件包之后,我能够为我的Android仿真器创建SD卡 我必须做两步

sudo apt-get update
sudo apt-get install ia32-libs

完成后,我可以创建一个带有SD卡的模拟器

尝试将android sdk文件夹移动到主文件夹。它可以工作。

正如其他人所写,问题在于您的Linux发行版是64位的,目前,Android虚拟设备(AVD)需要x86库才能正常工作

有人建议安装ia32 libs。然而,在Ubuntu 14.04 LTS中,你找不到这个库。 我使用这些替代lib解决了这个问题:lib32z1、lib32ncurses5、lib32bz2-1.0和lib32stdc++


我也有同样的问题。排除故障后,我才知道,这是因为我的Windows是32位的,而我的MKSD卡只与64位兼容。然后我把一张32位的mksdcard复制到tools文件夹,并删除了旧的一张。它解决了我的问题。

在debian测试中,当我尝试运行./tools/mksdcards时,我收到了错误:

error while loading shared libraries: libstdc++.so.6: 
cannot open shared object file: No such file or directory

安装lib32stdc++6解决了这个问题,并且可以创建avd。

如果您使用的是Kali、Debian Jessie(或Ubuntu 13.10+),请尝试

sudo apt get安装lib32stdc++6


在Ubuntu 16.04 LTS x64上,使用Android Studio 2.1(也在2.3.3上测试),从终端运行,而不是上面提到的ia32 LIB。

sudo apt-get install lib32stdc++6
在此之后,可能会出现以下错误

Cannot launch AVD in emulator.
Output:
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  49
  Current serial number in output stream:  48
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  49
  Current serial number in output stream:  48
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
emulator: WARNING: VM heap size set below hardware specified minimum of 228MB
X Error of failed request:  BadValue (integer parameter out of range for operation)
emulator: WARNING: Setting VM heap size to 384MB
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  33
  Current serial number in output stream:  34
QObject::~QObject: Timers cannot be stopped from another thread
使用这3个命令解决这些问题

mv ~/Android/Sdk/tools/lib64/libstdc++/libstdc++.so.6{,.bak}
mv ~/Android/Sdk/tools/lib64/libstdc++/libstdc++.so.6.0.18{,.bak}
ln -s /usr/lib/libstdc++.so  ~/Android/Sdk/tools/lib64/libstdc++/**

在初级操作系统和ubuntu中,解决方案是安装以下软件包

sudo apt-get install lib32ncurses5 lib32z1
sudo apt-get install libgcc1:i386

经过大量安装,没有得到任何结果,我发现这一点,它的工作

这是因为
sdk/tools
中的一些可执行文件无法执行。转到您的Android Studio和Android SDK文件夹,并通过以下命令使所有目录和文件可执行:

chmod +x -R *

对于那些在windows上面临同样问题的人。 对我来说,这是因为mksdcard.exe工具无法成功运行。 一些SDK工具,如MKSDCAL.EXE需要微软Visual C++运行时。因此,请转到您的系统属性并检查您的系统类型:

然后基于您的系统类型,(对于我来说是X64)下载/更新最新的微软VisualC++对VisualStudio 2019的重新分配,从链接


<安装微软Visual C++后,我的问题就解决了。我成功地创建了AVD。

@Alex Pritchard:您可能不需要一张1024M的假SD卡。试试32M,看看你是否运气更好。@commonware唉,32M SD卡仍然无法创建:(@Alex Pritchard:这很奇怪,这些图像都是虚构的
mv ~/Android/Sdk/tools/lib64/libstdc++/libstdc++.so.6{,.bak}
mv ~/Android/Sdk/tools/lib64/libstdc++/libstdc++.so.6.0.18{,.bak}
ln -s /usr/lib/libstdc++.so  ~/Android/Sdk/tools/lib64/libstdc++/**
sudo apt-get install lib32ncurses5 lib32z1
sudo apt-get install libgcc1:i386
chmod +x -R *