Ubuntu - Ошибка: не удалось создать SD-карту

Я вижу много сообщений о записи на SD-карту, но я считаю, что моя проблема в другом. Я не могу создать SD-карту во время создания AVD.

Сначала я попытался использовать Android SDK и AVD Manager, выбрав
Имя: my_avd
Цель: Android 2.2 - уровень API 8
SD-карта: размер: 1024 МиБ
Скин: встроенный: по умолчанию (HVGA)
Аппаратное обеспечение: свойство: абстрактная плотность ЖК-дисплея, значение: 160

Это выскакивает окно с сообщением:
"Результат создания AVD" my_avd ":
Ошибка: не удалось создать SD-карту. "

Я попытался повторить процесс из командной строки, получив похожую ошибку:

[email protected]:~$ 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?

[email protected]:~$ mksdcard 1024M ./sdcard.iso
bash: /home/alex/android-sdk-linux_x86/tools/mksdcard: No such file or directory
[email protected]:~$ sudo android create avd -n my_avd -t 1 -c 1024M

Я добавил каталог android tools в переменную PATH, но я чувствую, что, очевидно, что-то еще мне не хватает. Возможно, какие-то права доступа?

Попытка запустить команду android с помощью sudo, похоже, тоже не помогла:

[email protected]:~/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, поэтому, даже если это кажется очевидной вещью, которую можно проверить, я все равно мог бы ее пропустить.

Ответ 1

Итак, я нашел проблему. Я использовал 64-битную установку Linux, у которой не было установленный по умолчанию ia32-libs-пакет. Утилита mksdcard не будет работать без этого пакета. После его установки мне удалось создать AVD без проблем с помощью AVD-менеджера.

Ответ 2

На Ubuntu 16.04 LTS x64, используя Android Studio 2.1 (также проверенный на 2.3.3), запускайте с терминала:

sudo apt-get install lib32stdc++6

Ответ 3

У меня была такая же ошибка, как и вы, и я только что решил ее, так что, возможно, это может помочь вам (хотя я не думаю, что ваша ошибка вызвана той же проблемой, как и я).

Я обнаружил, что все инструменты в инструментах.. /tools не имеют разрешения на использование, поэтому я использовал

chmod -R 777 ../tools

из командной строки и, наконец, работает

Ответ 4

Как уже писали другие, проблема в том, что ваш дистрибутив Linux является 64-разрядным, а в настоящее время Android Virtual Device (AVD) требуется x86 библиотека работает правильно.

Кто-то предложил установить ia32-libs. Однако в Ubuntu 14.04 LTS вы не найдете эту библиотеку. Я решил использовать эти альтернативные libs: lib32z1, lib32ncurses5, lib32bz2-1.0 и lib32stdС++.

sudo apt-get update
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++

Ответ 5

Я столкнулся с той же проблемой. NONE из инструментов SDK будет работать на 64-битном Ubuntu без установки ia32-libs (пример: sudo apt-get install ia32-libs).

Ответ 6

В элементарной ОС и ubuntu решения заключались в установке следующих пакетов

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

Ответ 7

[email protected]:~$ mksdcard 1024M ./sdcard.iso
bash: /home/alex/android-sdk-linux_x86/tools/mksdcard: No such file or directory
[email protected]:~$ sudo android create avd -n my_avd -t 1 -c 1024M

Я нашел эту проблему, и я нашел способ первый:

cd /home/alex/android-sdk-linux_x86/tools/

тогда напишите это:

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

он должен работать:)

Ответ 8

Если вы используете Kali, Debian Jessie (или Ubuntu 13.10+), попробуйте

sudo apt-get install lib32stdС++ 6

вместо упомянутых выше ia32-lib.

Ответ 9

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++/**

Ответ 10

Также возникла эта проблема, и после установки пакета i386 мне удалось создать SD-карту для моего эмулятора Android Мне пришлось сделать два шага

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

После этого я смог создать эмулятор с прикрепленной SD-картой

Ответ 11

У меня была другая проблема: инструменты платформы были на моем пути, но инструментов не было. Итак, все сработало, за исключением того, что образ SDCard не был создан. Об этом не было известно, когда я создал avd в eclipse, и виртуальное устройство было создано с действительно маленькой SD-картой, заставляя его постоянно бросать недопустимую ошибку при установке приложения.

Ответ 13

При тестировании debian, когда я пытался запустить. /tools/mksdcards, я получил ошибку:

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

Установка lib32stdС++ 6 устраняет проблему, и было возможно создать avd.

Ответ 14

У меня была другая проблема с 32-разрядным Ubuntu. Когда я пытался запустить mksdcard вручную, я получал файл, который не нашел ошибку.

Проблема была open-jre/jdk. Я установил oracle java, и проблема была исправлена. К сожалению, вы больше не можете устанавливать oracle java через apt/synaptic и должны прыгать через дополнительные обручи:

https://github.com/flexiondotorg/oab-java6

Ответ 15

MyOS - это Oracle Unbreakable Linux 6 - для решения этой проблемы мне пришлось установить пакет libstdС++ - 4.4.6-3.el6.i686.

Ответ 16

У меня была та же проблема. После устранения неполадок я узнал, что из-за моей Windows 32bit и моя mksdcard совместима только с 64-битным. Затем я просто скопировал mksdcard из 32 бит в папку с инструментами и удалил старый. Он решил мою проблему.

Ответ 17

После большой установки и отсутствия результата я обнаружил, что это сработало.

Это происходит потому, что некоторые исполняемые файлы в sdk/tools не могут быть выполнены. Перейдите в папки Android Studio и Android SDK и сделайте все каталоги и файлы исполняемыми с помощью этой команды:

chmod +x -R *

Ответ 18

Попробуйте переместить папку sdk android в домашнюю папку. Он работает.