Можно ли разрабатывать с помощью Android SDK на 64-битной машине Linux. Доступные загрузки SDK, похоже, предназначены только для 32-разрядных версий Linux.
Ответы:
Да, это так. Вам необходимо установить библиотеки ia32. Ознакомьтесь с разделом устранения неполадок Ubuntu Linux .
apt-get install ia32-libs
apt-get install sun-java6-jdk
В (K) Ubuntu вам понадобятся следующие 32-битные пакеты:
sudo apt-get install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386
для запуска эмулятора вам понадобится этот дополнительный пакет:
sudo apt-get install libsdl1.2debian:i386
Android SDK требует:
Fedora 17 64bit с Android SDK:
sudo yum install glibc.i686 zlib.i686 libstdc++.i686 ncurses-libs.i686
Fedora 20 64bit с Android SDK
sudo yum install glibc zlib libstdc++ ncurses-libs mesa-libGL-devel adb
Для Debian Wheezy вы должны включить мультиархив, а затем установить зависимые библиотеки, как указано в других ответах, или по мере необходимости в двоичных файлах из каталога инструментов или инструментов платформы:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386
Для получения дополнительных библиотек проверьте с помощью ldd ссылки на .so-файлы.
платформенные инструменты $ ldd adb linux-gate.so.1 => (0xf77bb000) librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xf779b000) libncurses.so.5 => не найдено libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xf7781000) libstdc ++. so.6 => не найден libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xf775b000) libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf773e000) libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xf75db000) libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xf75d6000) /lib/ld-linux.so.2 (0xf77bc000)
Итак, продолжайте установку libncurses5: i386 и libstdc ++ 6: i386, чтобы иметь возможность запускать
платформенные инструменты $ ./adb Android Debug Bridge версии 1.0.31 ...
android-studio/sdk/tools/mksdcard
был 32-битным исполняемым файлом. Выполнили шаги выше и установили libc6:i386
и libstdc++6:i386
. Теперь двоичный файл работает нормально.
Для Ubuntu 13.1 ia32-libs больше не доступен. Итак, вы можете попробовать это:
sudo apt-get install lib32z1 lib32ncurses5 lib32stdc++6
В CentOS 6.2 я работал со следующим:
yum install glibc.i686 glibc-devel.i686 libstdc++.i686 zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686
Для тех, кто использует Slackware, нажмите здесь.
Пробовал с током, работает.
Короче говоря, вам нужно включить 32-битную поддержку, установив мультибиблиотечные пакеты.
Шаги:
1) Скачайте пакет:
> wget -np -nH -r -A txz,tgz \
> http://slackware.com/~alien/multilib/14.0/
2) установить пакеты:
~/multilib$ \
> cd \~alien/multilib/14.0/
~/multilib/~alien/multilib/14.0/$ \
> su -c "upgradepkg --reinstall --install-new *.t?z"
3) установить пакеты совместимости:
~/multilib/~alien/multilib/14.0/$ \
> su -c "upgradepkg --reinstall --install-new *-compat32/*/*.t?z"
Перезагрузите систему и вуаля.
Для openSUSE вы можете установить 32-битный пакет шаблонов
su zypper install -t шаблон 32bit
Предположение: установлена 32-разрядная версия Android SDK
В моей 64-битной ОС Ubuntu 12 мне не нужно было устанавливать какие-либо пакеты, упомянутые в предыдущих комментариях. Установите следующее, используя Android SDK Manager
-
Под Tools
:
Android SDK Tools
Android SDK Platform-tools
Latest Android SDK Build-tools
В последней версии Android API (в моем случае Android 4.3 (API 18)
):
SDK Platform
ARM EABI v7a System Image
Под Extras
:
Android Support Library
Предупреждение. Ранее я пробовал использовать ia32-libs
пакет. Он успешно установлен, и я смог запустить свои приложения для Android. Однако, если я перезапущу машину, она никогда не загрузится. Поэтому я предлагаю воздержаться от установки ia32-libs
package. Если это сработало для вас, тогда отлично. Возможно, тогда это была проблема, связанная с моим компьютером.
Небольшой поворот в приведенных выше вопросах и ответах: я запускаю Debian Wheezy (7.0) на 64-разрядном ноутбуке System76, я уже включил многоархивность, и большинство собственных инструментов Android, казалось, работали нормально ... пока я не попытался собрать приложение. Сборка не удалась, потому что одной из утилит ресурсов требовалась (32-разрядная) libz.so.1.
apt-get установить lib32z1
... исправил это для меня.
Для AWS Linux я нашел решение в старом сообщении на форуме AWS .
sudo yum install mesa-libGL.i686 libXrender.i686 libSM.i686 freetype.i686 libstdc++.i686
Для пользователей Arch:
вам необходимо установить пакеты lib32-gcc-libs и lib32-ncurses, которые находятся в репозитории Multilib. (Что вы должны включить )
pacman -S lib32-gcc-libs
pacman -S lib32-ncurses