Посоветуйте сборку Linux’а для разработки по Android [закрыт]
Закрыт. На этот вопрос невозможно дать объективный ответ. Ответы на него в данный момент не принимаются.
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы на него можно было дать ответ, основанный на фактах и цитатах.
- Наличие в сборке Sun/Oracle JDK (OpenJDK, как известно, не дружит с Android).
- Минимальные усилия по установке.
- Желательно таки что-нибудь из дебиановского семейства.
Вообще я сомневаюсь, что такие есть. Что мешает jdk ручками поставить? Даже я с моей криворукостью это смог)
Мне, например, нравится [Mint][1]. Ну а с JDK придется [помудохаца][2] вам в любом случае. [1]: linuxmint.com [2]: askubuntu.com/questions/56104/…
Как ни странно, самый лучший именно Ubuntu. Почему? У него самый широкий комьюнити, а следовательно — большинство проблем уже решены, стоит только погуглить. По поводу JDK — я не верю, что у человека с 32к репутации тут руки не из того места растут, что бы [нагуглить][1], как удалить openJDK, и установить Oracle. [1]: google.com.ua/…
4 ответа 4
Ставьте тот дистрибутив, который Вам нравится, или у Вас есть знакомый гуру-админ, который его активно использует и готов помочь. Стандартная java пусть себе стоит, она никому не мешает.
Потом идете на сайт оракла и качаете 7 java. Оракл активно сейчас рекомендует 8, но на ее базе я не пробовал, потому пробуйте сами, если хочется.
Скачивайте tar.gz под Вашу битность системы. Архив распаковываете либо в домашний каталог, либо в /opt , который для этого хорошо подходит. Должен получиться где-то такой путь /opt/jdk1.7.0_71/ . Скорее всего, распаковку в этот каталог нужно делать с правами рута.
Теперь нужно настроить IDE. Сейчас эклипс не модно использовать, и я его уже несколько лет не запускал, поэтому пишу для IDEA и AndroidStudio. Открываете в домашнем каталоге файл .bash_profile (если нет — создайте) и добавьте туда такие строки:
IDEA_JDK=/opt/jdk1.7.0_71 export IDEA_JDK STUDIO_JDK=/opt/jdk1.7.0_71 export STUDIO_JDK
Сама IDEA и Android Studio при старте проверяют эти переменные, и если они выставлены — используют указанные.
Теперь либо перелогинтесь, либо перезагрузитесь. Но можно просто в консоли написать source ~/.bash_profile , но это подействует только на текущую консоль. Поэтому лучше перелогиниться.
А вот сам сдк я держу в домашнем каталоге, чтобы не иметь проблем с обновлением. Он находиться в каталоге Android , там же находиться и ndk. Чтобы утилиты запускались без проблем, я добавил ещё в .bash_profile строку
PATH=$PATH:$HOME/Android/AndroidSDK:$HOME/Android/AndroidSDK/tools:$HOME/Android/AndroidSDK/platform-tools:$HOME/Android/AndroidNDK
После запуска IDEA или AndroidStudio они могут спросить, где java, которой компилировать андроид приложения (да, для работы ide и компиляции приложения могут использоваться различные версии java). В качестве каталога укажите /opt/jdk1.7.0_71 , если только ничего не поменяли или версия jkd поменялась.
У описанного способа есть много плюсов:
- можно использовать несколько версий java для различных программ и даже проектов;
- можно не бояться, что после обновления системы все слетит;
- не конфликтует с другими приложениями, которые используют java;
- большинство админов поймет и одобрит эту идею.
- относительная сложность первой настройки;
- сложность автоматизации обновления (на сайте оракла нужно соглашаться с скачиванием), можно качать со сторонних сайтов, но мало чего (особенно если режим паранои на максимуме);
- нужно обновлять пути в файле профайла (но можно создать ссылку и только обновлять ссылку).
Строим Android x86
Существует множество задач, для которых требуется пересборка ядра и операционной системы Android в целом. Например, создание и отладка собственных модулей, включение поддержки профилирования системы и просто тестирование своих приложений на новой версии Android.
Возможность запуска Android x86 внутри виртуальной машины VirtualBox позволяет энтузиастам и создателям прошивок покопаться в настройках системы, настроить и пересобрать ядро и при этом не «кирпичизировать» настоящее устройство. VirtualBox предоставляет возможность использования привычных для Linux-разработчика средств отладки ОС. Для рядовых разработчиков Android-приложений отлично подходит эмулятор, использующий технологию Intel Hardware Accelerated Execution Manager. (подробнее можно прочесть здесь)
В статье приведен ряд практических советов по сборке образа Android x86 для запуска под виртуальной машиной VirtualBox и сборке эмулятора. Исходный код Android взят из официального репозитория проекта AOSP (Android Open Source Project), в качестве ядра использована адаптированная версия ядра Linux 2.6 от Intel.
Установка окружения для сборки
Для сборки Android потребуется 64 битная версия Linux. Еще один важный момент: обратите внимание на версию GCC, которая установлена на системе. Google поддерживает версию GCC 4.4 и выше. Так же на системе должна быть установлена реализация Java от Oracle.
Установка дополнительных зависимостей для Ubuntu 12.04:
sudo -i apt-get update sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \ libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \ python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
Загрузка дерева исходных кодов
Установка Repo
Repo — утилита управления репозиториями, упрощающая работу с Git для Android. Более подробную информацию можно прочесть здесь (http://source.android.com/source/version-control.html)
Для установки, инициализации и настройки Repo выполните следующие шаги:
• Убедитесь, что у вас есть директория bin в вашем домашнем каталоге и она прописана в PATH:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo chmod a+x ~/bin/repo
Инициализация Repo клиента
После установки Repo, настройте доступ к репозиториям исходных кодов Android:
• Создайте пустую директорию для исходных файлов и перейдите в нее. Например, это может выглядеть так:
repo init -u https://android.googlesource.com/platform/manifest
Эта команда подключит ветку master из дерева исходных кодов Android. Вы можете указать любую другую, используя ключ -b:
repo init -u https://android.googlesource.com/platform/manifest -b android-4.1.1_r6
git --git-dir .repo/manifests/.git/ branch -a
Загрузка файлов
Сборка ядра
Android разработан прежде всего для устройств, управляемых жестами и он не поддерживает мышь по умолчанию. Поэтому, в качестве примера, пересоберем ядро из исходников с включенной поддержкой мыши.
Создадим директорию для хранения исходников ядра:
mkdir ~/android_kernel cd ~/android_kernel
wget http://software.intel.com/sites/landingpage/android/Intel_x86_sysimg_2.3.7_Source_Files.zip unzip Intel_x86_sysimg_2.3.7_Source_Files.zip tar -xvf kernel_sdk_x86.tar.gz
Теперь у нас есть исходники ядра. Нужно модифицировать конфигурационный файл и пересобрать. Чтобы сократить время на полную настройку ядра, воспользуемся конфигурационным файлом, который подготовили для на разработчики. Важный момент — не забывайте указать архитектуру для которой происходит сборка ядра, в нашем случае это x86.
cp arch/x86/configs/vbox_defconfig .config make ARCH=x86 menuconfig
Через несколько секунд загрузится графическое меню настройки ядра. Стрелками «вверх», «вниз» вы можете передвигаться по пунктам меню, «Enter» чтобы зайти в подменю. Все точно так же как с обычным ядром Linux.
Чтобы включить поддержку мыши:
• Зайдите в «Device Drivers»
• Выберите «Input device Support»
• Отметьте «Mice»
Вы можете зайти в подменю «Mice» и посмотреть дополнительные настройки драйверов.
Затем выйдите из меню конфигурации ядра. Это можно сделать с помощью нескольких нажатий на «Esc». Не забудьте сохранить настройки, когда меню конфигурации предложит это сделать.
Сделав необходимые настройки ядра, соберем его. Это не займет много времени, особенно если вы используете многоядерную машину — можете указать опцию команды make: -j N, где N — число ядер (например, для написания статьи использовалась make -j 32).
Kernel: arch/x86/boot/bzImage is ready
Подмена ядра
grep "LOCAL_KERNEL : bash">LOCAL_KERNEL := prebuilt/android-x86/kernel/kernel-vbox
cp ~/kernel/arch/x86/boot/bzImage ~/aosp/prebuilt/android-x86/kernel/kernel-vbox
Построение Android
Теперь все готово к тому, чтобы начать компиляцию исходников Android. Первым шагом необходимо указать цель для сборки:
============================================ PLATFORM_VERSION_CODENAME=REL PLATFORM_VERSION=4.1.1 TARGET_PRODUCT=vbox_x86 TARGET_BUILD_VARIANT=eng TARGET_BUILD_TYPE=release TARGET_BUILD_APPS= TARGET_ARCH=x86 TARGET_ARCH_VARIANT=x86 HOST_ARCH=x86 HOST_OS=linux HOST_OS_EXTRA=Linux-2.6.32-131.0.15.el6.x86_64-x86_64-with-redhat-6.1-Santiago HOST_BUILD_TYPE=release BUILD_ID=JRO03R OUT_DIR=out ============================================
Затем необходимо запустить сборку исходников командой make. Хорошим тоном считается сохранять лог сборки, это можно сделать с помощью утилиты tee.
make –j 16 | tee vbox_build.log
Процесс сборки может занять значительное время, конкретные цифры зависят от мощности центрального процессора и объема оперативной памяти машины. На системе, которая использовалась для подготовки статьи это заняло около часа. Рекомендуемое число потоков для сборки можно определить из расчета 2GB оперативной памяти на поток.
При успешной компиляции, последняя строка вывода будет содержать путь и размер образа:
Install system fs image: out/target/product/vbox_x86/system.img out/target/product/vbox_x86/system.img+ total size is 268435456
Done with VirtualBox bootable installer image -[ out/target/product/vbox_x86/installer.vdi ]-
Настройка VirtualBox
Теперь приступим к настройке VirtualBox. Необходимо создать новую виртуальную машину, назовем ее “Android_ICS”, выберем Linux в качестве операционной системы, а версию выставим Other, как наиболее подходящую для Android.
Следующий шаг – выделение оперативной памяти. Рекомендуется 512 мегабайт и больше. В нашем случае это будет гигабайт.
Далее настраивается размер жесткого диска. Главное, чтобы после завершения настройки все жесткие диски VirtualBox были подключены к контроллеру IDE.
Установим загрузочный образ Android в качестве второго раздела нашей виртуальной машины.
При первом запуске виртуальной машины нам необходимо запустить установку Android. Во время старта нажмите F12, чтобы зайти в меню настроек BIOS. Выберете 2 “Primary Slave”, именно там и содержится установочный образ Android.
В случае успешной установки вы увидите «Done processing installer config». Иногда при первой установке могут возникнуть ошибки, просто запустите ее еще раз. Затем перезагрузите виртуальную машину в свой только что установленный Android!
Эмулятор Jelly Bean
Сборка эмулятора мало чем отличается от сборки версии для VirtualBox. Если у вас уже есть исходные коды, то приступайте к сборке с шага инициализации окружения. Для чистоты эксперимента, будет процесс постройки эмулятора будет изложен с самого начала. Поэтому создадим отдельную директорию для Jelly Bean Emulator и повторим уже знакомые шаги.
repo init -u https://android.googlesource.com/platform/manifest -b android-4.1.1_r6
============================================ PLATFORM_VERSION_CODENAME=REL PLATFORM_VERSION=4.1.1 TARGET_PRODUCT=full_x86 TARGET_BUILD_VARIANT=eng TARGET_BUILD_TYPE=release TARGET_BUILD_APPS= TARGET_ARCH=x86 TARGET_ARCH_VARIANT=x86-atom HOST_ARCH=x86 HOST_OS=linux HOST_OS_EXTRA=Linux-2.6.32-131.0.15.el6.x86_64-x86_64-with-redhat-6.1-Santiago HOST_BUILD_TYPE=release BUILD_ID=JRO03L OUT_DIR=out ============================================
make –j 16 | tee emulator_build.log
cd kernel cp arch/x86/configs/goldfish_defconfig .config make ARCH=x86 -j16
Например, можно запустить с только что собранным ядром, с разрешением 480×800, объемом оперативной памяти 512 мегабайт и включенным аппаратным ускорением графики.
emulator -kernel ~/kernel/arch/x86/boot/bzImage -skin WVGA800 -memory 512 -gpu on
Более подробно о возможностях и настройках эмулятора можно прочитать здесь
Заключение
В данной статье рассмотрен способ установки Android x86 версии Jelly Bean для VirtualBox, сборка кастомизированного ядра и эмулятора. Существует множество разных трюков и подходов к постройке и настройке различных версий Android, которые остались за пределами данной статьи. Здесь был изложен базовый материал для того, чтобы начать свой путь в мир OS Android.