Linux для разработки под андроид

Подготовка среды Linux для создания Android-приложений

Первый этап создания любой программы – это подготовка среды разработки. Приложения для операционной системы Android не являются исключением, и в данном материале мы разберемся, как подготовить среду разработки в Ubuntu.

В первую очередь, понадобится Eclipse IDE, версия не ниже 3.4, Java SDK (JDK) и Android SDK.

Операционная система Ubuntu предоставляет весьма удобную установку приложений из репозиториев, а потому отдельно нужно только SDK. После загрузки SDK можно устанавливать JDK (Java Development Kit), необходимый для разработки и запуска пакета Eclipse IDE. Выполняем в консоли такую команду:

sudo apt-get install openjdk-6-jdk

После выполнения означенной команды в нашем распоряжении будет полностью работоспособный Java Development Kit 6й версии, со всеми зависимостями. Теперь необходимо установить среду разработки, которой и является Eclipse IDE. Последняя не зря пользуется такой популярностью среди всех разработчиков программного обеспечения для Android, зарекомендовав себя с лучшей стороны во многих аспектах. Так что именно её мы и будем устанавливать, для чего исполняем следующую команду:

sudo apt-get install eclipse

Теперь необходимо установить SDK. Распаковываем архив, который его содержит, в любую удобную директорию. Рекомендуется также добавить путь с SDK в переменную PATH. Теперь настраиваем сам Eclipse. Запускаем среду, после чего выбираем в меню «Help» -> «Install New Software». В появившейся строке вводим адрес:

Теперь открываем «Window» -> «Preferences», где ищем пункт «Android», указываем расположение нашего разархивированного SDK. Переходим в пункт меню «Window» -> «Android SDK and AVD manager». В разделе «Available Packages» устанавливаем все необходимые пакеты, чтобы было проще – устанавливаем все доступные. Установка может занять некоторое время, так что придется подождать.

После проделанных действий создаем образ виртуального Android-девайса. В «Virtual Devices» создаем мобильное устройство с нужными нам параметрами. При помощи данного виртуального девайса можно будет проводить проверку написанного кода.

Вот и всё, установка и подготовка нужного нам для создания приложений софта завершена, и можно приступать к работе, создавать новые проекты для операционной системы Android.

Источник

Разработка под андроид, с чего начать новичку

короче история такова.

Я 10+ лет программирую, но в разработке под девайсы я полный нуб. Хочу влезть в тему и решил начать с андроида. Писать хочу на kawa (это схема на jvm).

И вот тут я очень удивлен, что не нашел вменяемого мана, объясняющего вообще что такое android sdk, как устроено андроид-проложение и т.д. Все что я видел — это в духе «Запускаем eclipse, выбираем „android-проект“ и создаем класс».

А что без эклиспа совсем никак? Просто взять написать в емаксе код и собрать его из консоли?

Короче, основной вопрос — подскажите вменяемый ман с базовыми вещами про устройство андроид-приложения и sdk, и заодно как эмулировать на ПК.

зы. у меня убунту

Лучшее, что я нашел, когда начинал:
http://developer.alexanderklimov.ru/android
http://guides.codepath.com]
Ну и конечно потом чтение документации. Отмечу, что под Android 99% разработки ведется именно на Java и все документация тоже про Java. Не думаю, что вы что-то скомпилируете на Scheme под JVM.

берешь эклипс (точнее — android studio, эклипс уже не торт), создаешь класс и так далее. Предлагаю понять хотя бы как писать хэлловорды, прежде чем рыпаться ходить по костылям со всякими маргинальными платформами

Когда я смотрю посты с хелловорлдами и вижу там кучу скрины с IDE типа сначала нажать сюда потом нажать сюда, не хочется превращаться в виндоюзера. Все-таки в линуксе это сначала инструменты командной строки, а потом всякие идешки, когда уже понимаешь как оно внутри работает.

Читайте также:  Windows 10 создать ярлык для skype

спасибо за ссылку, как раз для чайников

Новичку будет проще использовать Geany.

не хочется превращаться в виндоюзера.

По-моему, тебе уже ответили. Сначала делаешь как на картинках, потом разбираешься как это устроено внутри, а потом пытаешься запихнуть туда свой привычный инструмент. Будут для начала картинки с кнопочками или черный экран с буквами — дело десятое (для профи, по-крайней мере). Насколько я понимаю, «Быстрого старта разработки под Android» для человека с опытом в Kawa не существует. Так что из двух путей (быстрого прямого и того, который есть) придется выбирать последний, потому что быстрого для тебя нет.

1. ставишь Eclipse 2. ставишь Eclim 3. . 4. PROFIT.

Качаешь android-ndk и используешь gcc и библиотеку оттуда. Для телефона на x86 с просто с дебиана собираю с -pie -fPIE

А что без эклиспа совсем никак? Просто взять написать в емаксе код и собрать его из консоли?

можно, склонируй себе какой-нибудь проект, в котором есть файл gradlew в корне и запусти:

Лучше начать с тыканья в IDE, а потом уже спуститься в инструменты командной строки. Так проще и быстрее и понятнее.

эклипс все еще торт — почему нет? есть что-то лучше? Удивлен.

Концепт программы для андроеда в эклипсе можно было сделать еще 5+ лет назад.

Так гугл уже сама от java открещивается. Они уходят в сторону компиляции. По-моему, сейчас самое время писать на всяких Go под arm девайсы, и, возможно, если для игр — юзать Lua во всяких Marmalade SDK ну или Xamarin на крайняк. Java не для мобилок, имхо. На C++ писать — это хардкор, поэтому ждём swift sdk, либо уже когда допилят Go до вменяемого использования в Android UI Application.

Так гугл уже сама от java открещивается. Они уходят в сторону компиляции.

Как эти два предложения связаны то?) Никуда они от жавы, как языка, не уходят, о чем сами и говорят на своих выступлениях и не уйдут пока не появится сдк не на жабе.

А что без эклиспа совсем никак? Просто взять написать в емаксе код и собрать его из консоли?

в документации есть раздел, объясняющий как сгенерировать шаблон проекта и собрать из командной строки.

там же рядом лежит и все остальное, про что ты спросил.

лучше никак. только девайс через USB.

это какой-то полный звиздец.

Плюсую. Не хватало еще рекламы джава-хакир.вася.сру на лоре.

Поэтому я пользуюсь второй ссылкой. Но для тех, кто не понимает ни слова по-английски и видит Java код в первый раз, пойдет.

Не думал, что лор так сильно обыдлел и будет заставлять повторять непонятные действия. Тупые и никчемные людишки дают советы, смысла в которых нет. Вот тебе правильный мануал:

1. Эмулятор юзаешь или штатный из SDK, или поднимаешь свои виртуалки и ставишь андроид туда. Но лучше просто подцепи реальный девайс по USB и не знай проблем.

2. Запуск приложения начинается с манифеста, это публичное апи, где описано какие ЖАБОКЛАССЫ надо дергать. И пофиг, если ты на жабе писать не будешь, как минимум враппер будет ВСЕГДА.

3. Разобравшись как сгенерировать жабокласс (например, унаследовавшись от Активити), ты генеришь готовые классы, компилятором там или еще чем, не важно, а потом это все конвертишь в байткод дальвика (утилька DX), о других генераторах байткода мне неизвестно.

4. Опционально можно поюзать JNI и писать на чем-то еще, но на выходе все равно должен быть жабокласс, который тоже надо скомпилять в байткод жабки, а потом сконвертить в дальвик

Читайте также:  Установка bluestacks windows 10

5. Все классы, что ты набыдлокодил, в конечном виде склеиваются в единый файл classes.dex, который потом пакуется в APK, который на самом деле обычный JAR с подписью и выравниванием данных, для чего высрано сразу 2 утильки — aapt+zipalign, первое представляет из себя жуткий комбайн по компиляции XML и кортинок, второе просто раздвигает структурки в готовом жаре. Полученный APK инсталлишь и пробуешь как оно будет.

Писать можно на чем угодно, IDE не нужны, родной SDK тоже нахер не нужен, кроме android.jar с которым тебе надо будет слинковаться во время компиляции, впрочем это зависит от твоего набора софта, вполне возможно обойтись и без него, ничего кроме сигнатур оттуда не берется.

Привет всем тупоголовым, кто сам понятия не имеет как происходит разработка под ведром и кто только и умеет жать кнопочки.

Источник

Пишем и собираем приложения для Android в linux консоли

В данной статье я покажу как можно собрать apk файл в Ubuntu используя лишь
утилиты командной строки.

Обычно для создания приложений для Adroid используется Android Studio. Но для сборки небольших программ можно обойтись командной строкой. Например, когда ресурсы компьютера ограничены и ваше приложение очень простое.

В качестве постоянной среды разработки это, возможно, не очень удобно, но если вам нужно
иногда собирать какие-нибудь мелкие утилиты — это в самый раз.

Введение

Разработка под Android не является основным направлением моей деятельности, я иногда делаю какие-то небольшие приложения для своих нужд.

Раньше я использовал QPython, но он достаточно тяжел и неудобен в работе. Поэтому я перешел к разработке нативных программ. Даже при поверхностном знании Java
это не составляет больших трудностей.

Данное руководство в большой степени базируется на этом документе: Building an Android App
from the Command Line. Кому интересны подробности, обращайтесь к первоисточнику.

Похожая статья: Пишем, собираем и запускаем HelloWorld для Android в блокноте уже встречалась на этом ресурсе, но в ней было рассмотрена разработка в Windows.

Здесь же я рассмотрю, как можно собрать приложение в linux.

Железо

Тестирование проводилось на стареньком нетбуке с процессором Атом, 1Гб ОЗУ
и 8Гб SSD диска.

Операционная система

Я тестировал приложение на Ubuntu 17.04. Начиная с Ubunu 16.04 android-sdk можно установить через пакетный менеджер.

В принципе, тот же SDK можно
скачать с сайта.
Качать файл из раздела ‘Get just the command line tools’
По сути это не сильно меняет процесс, но через пакетный менеджер все гораздо проще.
Разница будет лишь в путях и установке дополнительных пакетов «android-platform».

Установка пакетов

Итак, приступим к установке.

Будет установлено большое количество пакетов, включая Java.

Далее, в зависимости от требуемой версии Android, необходимо установить нужную
версию пакетов. Для lolipop 5.1 необходимо ставить:

Так же необходимо установить дополнительный пакет.

Если вы планируете устанавливать apk-пакет через adb, то необходимо немного дополнительных настроек.

Настройка adb

С помощью lsusb найти подключенное устройство

И создать файл с правилом:

В файл добавить одну строку:

Здесь «1782» взято из вывода lsusb.

После подключения через adb, на устройстве необходимо подтвердить соединение.

Теперь все готово к работе.

Постановка задачи

Приложение, которое будем собирать немного сложнее, чем ‘Hello world’.

  • Требуется по нажатию кнопки взять строку из буфера обмена.
  • Вырезать подстроку
  • Записать подстроку обратно в буфер.
  • С помощь Toast вывести подстроку или сообщение об ошибке.

В общем-то все просто.

Я подготовил пример который возьмем за основу.

Создание подписи

Сначала создадим ключ для подписи файла:

Это нам пригодится позже.

Манифест

Здесь указываем имя приложения в атрибуте «android:label». Так же приложение будет использоваться свою иконку, она указана в атрибуте «android:icon». Сама иконка лежит в каталоге «res/drawable-mdpi» файл «icon.png». В качестве иконки можно взять любой небольшой png файл.

Читайте также:  Ноутбук asus не работает камера windows 10

Layout

Файл с расположением элементов находится в каталоге «/res/layout/».

В него можно добавлять виджеты, если вы захотите расширить функционал.

Исходный код приложения

Исходный код приложения находится здесь «java/ru/kx13/extractvidid»

Код весьма прост и примитивен, но этот шаблон можно использовать в других приложениях.

Скрипт для сборки

Я не стал использовать утилит сборки типа make или ant, т.к. весь код находится в одном файле и особых преимуществ это не даст. Поэтому это обычный shell скрипт:

Некоторые замечания по поводу путей.

  • По умолчанию, переменная BASE указывает на путь, в который пакетный менеджер сохраняет файлы. Если вы ставите SDK вручную, то путь надо будет изменить.
  • Если вы используете версию API отличную от 22, то вам надо подправить переменные BUILD_TOOLS и PLATFORM

Сборка и установка

Для сборки просто запустите

Если все настроено правильно никаких сообщений не будет выведено, а в каталоге «build» появится файл «Extractor.apk»

Теперь надо установить наше приложение

Если все прошло нормально, на устройстве появится новое приложение. Можно запускать и пользоваться.

В общем случае можно перекинуть файл apk на устройство любым удобным способом.

Заключение

Как видно из статьи начать разработку в консоли совсем несложно.

Консольные утилиты позволяют разрабатывать программы при весьма небольших ресурсах.

Источник

Разработка под Android в Windows vs Linux [закрыт]

Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы на него можно было дать ответ, основанный на фактах и цитатах.

Закрыт 5 лет назад .

Стал вопрос смены ОС. Два варианта:

Последний год работал только под виндой. Но не хочу ставить всякие сборки и тд, а оригинального образа Windows 7 нигде не могу скачать(вопрос о покупке лицензии не стоит). По сему смотрю в сторону Linux.

На сколько проблематичней разрабатывать под Андроид в Линухе ?

1 ответ 1

Если говорить о Ubuntu (Kubuntu — с оболочкой KDE), то особых проблем не предвидится. ОС имеет свою специфику для человека неподготовленного, однако времена консольных команд и красных глаз давно прошли, 99% действий -GUI. Любые гайды в инете присутствуют в полном объеме.
Именно разработка никаких существеных отличий не имеет — та же Android Studio, в общем то никаких проблем не ожидается — IDE обеспечивает полный цикл разработки и особых отличий по ОС не имеет.

Отдельно замечу по сопутствующему софту — лично мне Gimp и Inkscape во много милее всяких Photoshop-ов.

В общем, если саму ОС видишь в первый раз, то требуется небольшое количество времени на вхождение — иная структура каталогов и полномочий, инсталяция софта (по мне, система репозиториев во много перспективнее и удобнее хаоса устроенного Windows).. да в общем то и все.
Конкретно работа приложений не имеет каких-то существенных отличий, та же оконная концепция с управление мышью, особенно при использовании KDE в качестве оболочки — о том, что это не винда и не думаешь.

Насчет дистрибутива — их множество. Однако на сегодняшний день предпочтительнее что то, работающее с пакетами формата .deb (debian/ubuntu в основе, так как собрать пакет этого формата считает своим долгом практически любой, кто разррабатывпет софт под Linux). Разумным компромисным выбором будет Linux Mint, та же Ubuntu, но с предустановленными проприетарными состоставляющими — коммерческие драйвера, кодеки и тп. Философия оригинальной Ubuntu не позволяет все это включить в дистрибутив, так как она — чистый Open Source (но все в принципе доустанавливается после инсталяции ОС).

Отдельным бонусом идет эстетическое удовольствие — KDE очень визуально красива, Gnome приятно лаконичен — под обоих тем оформления миллиарды, тот же Compiz (3D-менеджер композиции интерфеса) сам по себе «всасывает» — и вот ты уже вместо работы целый день настраивал, как окошки перекатываются, не потому, что сложно, а потому, что вариантов офомления множество и один лучше другого :).

Источник

Оцените статью