Как настроить Android SDK для разработки командной строки на Linux? - PullRequest
14 голосов
/ 12 марта 2010

Я пытаюсь настроить Android SDK для разработки простой программы из командной строки в Linux (Ubuntu 9.10). Я пробовал затмение, но у него есть проблемы с запуском в Ubuntu, поэтому я отказался от него. Вот что я сделал до сих пор:

  1. скачал android-sdk_r05-linux_86.tgz из http://developer.android.com/sdk/index.html
  2. tar xvzf android-sdk_r05-linux_86.tgz
  3. ln -s android-sdk-linux_86 android
  4. в .tcshrc добавлен setenv PATH .....: / home / user / android / tools
  5. источник .tcshrc
  6. запустил «андроид». Это открыло графический интерфейс. Под доступными пакетами: я установил все и вышел из графического интерфейса.
  7. запустил 'список целей android' и в нем перечислено:

Доступные цели Android:

id: 1 или "Android-3" Название: Android 1.5 Тип: Платформа Уровень API: 3 Редакция: 1 Скины: HVGA-P, HVGA (по умолчанию), QVGA-P, QVGA-L, HVGA-L

id: 2 или "Google Inc.: API Google: 3" Название: Google API Тип: Дополнение Поставщик: Google Inc. Редакция: 3 Описание: Android + Google API На основе Android 1.5 (уровень API 3) Библиотеки: * com.google.android.maps (maps.jar) API для Google Maps Скины: QVGA-P, HVGA-L, HVGA (по умолчанию), QVGA-L, HVGA-P

id: 3 или "Android-4" Название: Android 1.6 Тип: Платформа Уровень API: 4 Редакция: 1 Скины: HVGA (по умолчанию), WVGA800, WVGA854, QVGA

id: 4 или "Google Inc.: API Google: 4" Название: Google API Тип: Дополнение Поставщик: Google Inc. Редакция: 2 Описание: Android + Google API На основе Android 1.6 (уровень API 4) Библиотеки: * com.google.android.maps (maps.jar) API для Google Maps Скины: WVGA854, HVGA (по умолчанию), QVGA, WVGA800

id: 5 или "Android-6" Название: Android 2.0.1 Тип: Платформа Уровень API: 6 Редакция: 1 Скины: WQVGA432, HVGA (по умолчанию), WVGA800, WVGA854, WQVGA400, QVGA id: 6 или "Google Inc.: API Google: 6" Название: Google API Тип: Дополнение Поставщик: Google Inc. Редакция: 1 Описание: Android + Google API На основе Android 2.0.1 (уровень API 6) Библиотеки: * com.google.android.maps (maps.jar) API для Google Maps Скины: WQVGA400, WVGA854, HVGA (по умолчанию), WQVGA432, QVGA, WVGA800

id: 7 или "Android-7" Название: Android 2.1 Тип: Платформа Уровень API: 7 Редакция: 1 Скины: WQVGA432, HVGA (по умолчанию), WVGA800, WVGA854, WQVGA400, QVGA

id: 8 или "Google Inc.: API Google: 7" Название: Google API Тип: Дополнение Поставщик: Google Inc. Редакция: 1 Описание: Android + Google API На основе Android 2.1 (уровень API 7) Библиотеки: * com.google.android.maps (maps.jar) API для Google Maps Скины: WQVGA400, WVGA854, HVGA (по умолчанию), WQVGA432, QVGA, WVGA800

Я хочу создать простую программу Hello World для моего Motorola Droid. Какую из этих целей я должен использовать?

Как мне увидеть скины?

Если я запускаю 'android' из командной строки, он говорит, что виртуальных устройств нет. Виртуальное устройство совпадает с целью?

Как получить скин дроида и / или цель дроида и / или виртуальное устройство дроида?


Я думаю, что мне нужно запустить что-то вроде 'android create avd --target 2 --name my_avd', но не уверен. Есть ли пошаговый список, как это сделать где-нибудь?

спасибо, Bob

Позже:

Я понял, что мне нужно создавать цели (= виртуальные устройства), например:

android create avd -t 1 -n myavd1
.......
android create avd -t 8 -n myavd8

Это дало мне 8 виртуальных устройств в графическом интерфейсе, когда я запускал «android» из командной строки.

Кто-нибудь знает, какой уровень / платформу API использовать для Droid? А где взять нужную шкурку? Есть ли какие-то аппаратные спецификации, которые мне нужно знать для разработки Droid?

Наконец, есть ли какие-нибудь списки шагов для создания приложения hello world из командной строки (linux), запуска его на эмуляторе и запуска на реальном телефоне?

Bob

Ответы [ 7 ]

6 голосов
/ 12 апреля 2011

Хотя я обычно использую IDE (или оболочку GUI) для разработки, я нахожу, что CLI Android особенно неприятен.

Недавно я начал преобразовывать все свои проекты Android в Maven . Существует растущее сообщество , использующее этот метод, и это может быть довольно приятно.

Идея построена на maven-android-plugin , который выполняет всю тяжелую работу. Существуют образцы , которые показывают различные варианты использования (не-Java языки, многомодульные проекты и т. Д.). Утомительные задачи CLI, такие как уменьшение размера APK с помощью proguard, подписание APK и zipaligning APK, all автоматизированы .

Также существует специальный формат .apklib, разработанный для распространения проектов библиотеки Android через репозитории Maven.

Когда вы объединяете все эти функции с уже существующими преимуществами Maven (автоматизированное тестирование, поддержка модулей, управление зависимостями, автоматическое освобождение, создание сайтов maven и т. Д.), Вы действительно получаете очень упрощенный рабочий процесс.

О, и он может управлять и развертывать эмулятор тоже!

5 голосов
/ 06 апреля 2011

хочу создать простой привет мир программа для моего Motorola Droid. Который из этих целей я должен использовать?

Droid был на складе 2.0 (API 6), но по состоянию на 14 марта 2011 года его 2.2.2 (FRG83G). Вы должны стремиться к 2.0, потому что не все дроиды 2.2.2.

Как мне увидеть скины?

Как получить скин дроида и / или цель дроида и / или виртуальное устройство дроида?

Вам необходимо установить скины для Motorola Droid. Зайдите на сайт MotoDev здесь ..

http://developer.motorola.com/docstools/tools/

Если я запускаю 'android' из команды линия это говорит о том, что там нет виртуальные устройства. Виртуальное устройство так же, как цель?

Нет целей и виртуальные устройства отличаются. Вам необходимо создать виртуальное устройство из целевого объекта.

Кто-нибудь знает, какой уровень API / Платформа для использования для Droid? А также где взять нужную шкурку? Есть что-нибудь оборудование-спецификации, что Мне нужно знать для разработки Droid?

Уровень API: 6 или выше, так как не все устройства обновляются.

Технические характеристики: см. Здесь http://developer.motorola.com/products/droid/

Наконец, есть ли какие-либо списки шагов создать приложение Hello World из командной строки (Linux) и запустить его на эмулятор, а затем запустить его на реальном телефон

Перейти на Eclipse + Ubuntu. Также проще настроить скины и дополнения. Аддоны лучше всего соответствуют физическому устройству. Другие варианты будут использовать утомительно для развития (для начинающего, как вы). Задайте свои сомнения здесь или пост как отдельный вопрос. Вы определенно получите отдых.

HTC недавно сделала небольшое руководство для разработчиков, которое поможет в работе с инструментами командной строки. Пожалуйста, посмотрите на это здесь http://htcdev.com/devcenter/opensense-sdk/quick-guide#building

Вы также можете использовать Eclipse + MotoDev studio ...

http://developer.motorola.com/docstools/motodevstudio/

4 голосов
/ 12 апреля 2011

Используйте android list target для просмотра списка доступных целей. Это будет содержать следующую информацию:
ID цели: у каждой цели будет свой идентификатор, и его следует использовать во всех других командах.
-Skin: каждая цель содержит список поддерживаемых скинов
-API Level: уровень API для конкретной цели

Создание avd:

android create avd --target 8 --name DROID_EMULATOR --sdcard 128M --skin WVGA854

Создание проекта HelloWorld:

android create project --name "HelloWorld" --target 8 --package com.test.helloworld --activity HelloWorld --path HelloWorld

Это создаст каталог HelloWorld в текущем каталоге. Он также создаст build.xml в текущем каталоге.

Вы можете использовать ant compile для компиляции проекта и ant install для компиляции и установки проекта. Это установит приложение на доступный эмулятор или устройство. Вы можете использовать ant, чтобы увидеть различные доступные цели сборки.

НТН!

PS: я использую Android SDK Tools, редакция 9 и Platform-tools, редакция 3.

2 голосов
/ 07 апреля 2011

После того, как вы создали AVD, затем, насколько это возможно, сборка из командной строки, эти две ссылки, которые я нашел наиболее полезными:

http://developer.android.com/guide/developing/projects/projects-cmdline.html

http://developer.android.com/guide/developing/building/building-cmdline.html

Если вы создадите пример проекта, как описано в разделе «Создание проекта Android», то он создаст структуру каталогов для вас и, что наиболее полезно, build.properties и build.xml. Даже если вы не знакомы с Ant, создать его с помощью Ant очень просто, и он делает все за вас с помощью build.xml, который он сделал автоматически. Процедура подробно описана во второй ссылке. Единственным утомительным моментом является подписание приложений. Ссылка не говорит вам о том, что если вы добавите две строки в build.properties, например:

key.store.password=YourPassword
key.alias.password=YourOtherPassword

тогда и подпись будет выполнена автоматически.

Пример приложения сам по себе является почти Hello World. Вам нужно только подписать приложение, если вы хотите отправить его на реальное устройство. Для эмулятора вы можете просто вызвать цели Ant 'debug' и 'install', которые будут собирать и переносить приложение на эмулятор

0 голосов
/ 11 апреля 2011

Я использую Eclipse для Android Dev на Ubuntu 10.10, и у меня нет никаких проблем вообще. Не отказывайся от затмения. Я бы порекомендовал задавать вопросы о том, с чем у вас проблемы в затмении.

Если проблема в том, что в затмении вы получаете "?????????" в качестве идентификатора устройства, когда вы пытаетесь запустить его на своем телефоне, вам нужно просто запустить sudo adb kill-server и sudo adb start-server в своем терминале, когда затмение открыто Возможно, вам также потребуется войти в систему как пользователь root, чтобы добавить adb (из вашего android sdk) в переменную окружения PATH.

0 голосов
/ 06 апреля 2011

Попробуйте придерживаться Eclipse, если у вас возникнут проблемы, будет хуже, если вы будете делать что-то в командной строке. Встроенные инструменты, такие как log cat и отладчик, имеют большое значение.

0 голосов
/ 21 апреля 2010

Извините, что не ответили на ваш вопрос напрямую, но какие у вас проблемы с Eclipse в Ubuntu? Я работал с Ubuntu в течение многих лет, я опытный пользователь Eclipse и у меня не было проблем с этой настройкой.

Редактировать: Это требует разъяснений и, следовательно, должно было быть комментарием, но у меня не было достаточно представителей, чтобы публиковать комментарии.

...