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

78

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

Сначала я попытался использовать Android SDK и AVD Manager, выбрав
Имя: my_avd
Цель: Android 2.2 - уровень API 8
SD-карта: Размер: 1024 MiB
Кожа: встроенный: по умолчанию (HVGA)
Оборудование: свойство: абстрактная плотность ЖК-дисплея, значение: 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, но я чувствую, что, очевидно, что-то еще мне не хватает. Возможно, какие-то права доступа?

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

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, поэтому, даже если это кажется очевидной проверкой, я все равно мог пропустить это.

Спасибо!

  • 0
    @ Алекс Притчард: Вам, вероятно, не нужна поддельная SD-карта 1024M. Вместо этого попробуйте 32M и посмотрите, повезет ли вам больше.
  • 0
    @CommonsWare Увы, 32M SD-карту по-прежнему не удается создать. :(
Показать ещё 5 комментариев
Теги:

17 ответов

93
Лучший ответ

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

  • 1
    Спасибо, Ubuntu 12.04 x64, это решило проблему. Я бы только отметил, что эти ia32-библиотеки имеют размер около 260 Мб
  • 0
    «Будут установлены следующие новые пакеты: [стена текста]» ...
Показать ещё 5 комментариев
74

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

sudo apt-get install lib32stdc++6
  • 0
    Я установил SDK вручную (без Android Studio), и это сработало для меня.
  • 0
    работал на меня. Хорошая работа
Показать ещё 6 комментариев
22

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

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

chmod -R 777 ../tools

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

  • 1
    Спасибо за предоставленный ответ. Переполнение стека обеспечивает форматирование для улучшения читабельности вашего ответа. Вы можете использовать форматирование кода, чтобы идентифицировать команду оболочки и установить ее отдельно от вашего другого текста.
  • 0
    Работает, но это приводит к тому, что .txt , .xml файлы и т. Д. Имеют разрешение на выполнение ... было бы неплохо знать отдельные задействованные файлы
10

Как уже писали другие, проблема в том, что ваш дистрибутив 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++
  • 3
    Единственным, что мне было нужно, был lib32stdc ++ 6.
6

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

4

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

sudo apt-get install lib32ncurses5 lib32z1
sudo apt-get install libgcc1:i386
  • 0
    Это сработало для меня на Kubuntu 17.04. Но libstdc ++ должен быть удален.
4
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++/**
4

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

sudo apt-get install lib32stdС++ 6

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

4
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

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

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

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

3

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

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

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

  • 0
    Это работает для меня на Ubuntu 12.0.4
2

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

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

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

2

Я запускаю Fedora 64 и имею ту же проблему. Информация на этой странице помогла мне.

http://iexcel.wordpress.com/2010/01/25/ia32-libs-for-android-sdk-on-fedora-12-x86_64/

2

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

1

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

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

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

0

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

0

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

0

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню