Автор Тема: Alt Linux как платформа для разработки Native приложений для Android  (Прочитано 23263 раз)

Оффлайн mrs

  • Давно тут
  • **
  • Сообщений: 138
  • Paragraf 8
Приветствую, уважаемые форумчане,

Недавно задался целью разрабатывать приложения для Андроид, и так как хорошо знаком с C/С++ и практически не знаком с Java, для начала решил написать нативное приложение. В этом есть свои плюсы и минусы, но речь сейчас не об этом... Я хочу написать о том, как настраивал платформу для разработки, а так как я новичок в Alt Linux, возможно кто-нибудь подскажет дельные советы... Так вот, в качестве базовой платформы я выбрал Simply Linux, с минимальным набором устанавливаемых пакетов. Процесс установки и настройки следующий:
1) Устанавливаем Simply Linux в Virtual Box контейнере, с открытым в нем доступе (через USB) к смартфону и общему каталогу на Host-системе (в моем случае каталог Exchange)
2) Обновляем компоненты системы сразу после установки
3) Для оживления шары в гостевой системе в конец /etc/modules добавляем строку "vboxsf", и в конец /etc/fstab добавляем строку "Exchange /mnt/exchange vboxsf defaults 0 0"
4) Перезагружаем систему и проверяем доступность шары в /mnt/exchange
5) Устанавливаем в систему следующие пакеты: geany android-tools ant java-1.6.0-sun-devel
6) Включаем USB-отладку в смартфоне, подключаем его к компьютеру и проверяем доступность командой: adb devices
7) В случае если adb devices выведет в консоль "?? ?? ?? ?? ?? no permissions", добавляем в /etc/udev/rules.d/51-android.rules следующую строку:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="XXXX", ATTRS{idProduct} =="YYYY", MODE="0666", OWNER="UUUU"    где идентификатор смартфона XXXX:YYYY можно определить командой lsusb, а UUUU - имя текущего пользователя.
8) Устанавливаем Android SDK:
cd ~
wget http://dl.google.com/android/android-sdk_r24.0.2-linux.tgz
tar xvfz android-sdk_r24.0.2-linux.tgz
mkdir ~/droid
mv ./android-sdk-linux ~/droid/sdk
9) Запускаем ~/droid/sdk/tools/android и устанавливаем недостающие пакеты Android SDK
10) Устанавливаем Android NDK:
cd ~
wget http://dl.google.com/android/ndk/android-ndk-r10d-linux-x86_64.bin
chmod a+x android-ndk-r10d-linux-x86_64.bin
./android-ndk-r10d-linux-x86_64.bin
mv ./android-ndk-r10d ~/droid/ndk
11) И наконец проводим тестовую сборку проекта из примеров NDK:
mkdir ~/droid/dev
cp -r ~/droid/ndk/samples/native-activity ~/droid/dev/test
cd ~/droid/dev/test
~/droid/sdk/tools/android update project -p . -t android-10
~/droid/ndk/ndk-build
ant debug
adb devices
adb install bin/NativeActivity-debug.apk

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

Далее планирую настроить эмулятор Android'a и написать скрипты в Geany для компиляции, сборки и отладки проектов. Вот тут кстати вопрос, кто-нибудь пробовал прикрутить отладчик Android к Geany, получилось ли?
« Последнее редактирование: 11.07.2015 17:36:40 от mrs »

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 950
а может QtCreator прикрутить?

Оффлайн mrs

  • Давно тут
  • **
  • Сообщений: 138
  • Paragraf 8
а может QtCreator прикрутить?
я пока пробую Geany, так как этот редактор выбрал из-за его легковесности и скорости работы, а при работе в виртуальной машине эти нюансы по-моему важны. Ну а если не получится с Geany, буду искать другую альтернативу, возможно и QtCreator попробую... Относительно Geany, у меня пока есть сомнения с отладкой, возможно ли ее будет нормально прикрутить... напишу, в общем, о своих изысканиях)
« Последнее редактирование: 17.01.2015 03:47:39 от mrs »

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 950
Просто QtCteator позволяет (из Qt for android) - сделать с ним, а с geany по аналогии легче будет разобраться что где прописать, ну чем с нуля то...

Оффлайн dimania

  • Давно тут
  • **
  • Сообщений: 35
  • dimania
Добрый день!
Чет у меня не все получилось:
mkdir /droid/dev
cp -r /droid/ndk/samples/native-activity /droid/dev/test
cd /droid/dev/test/native-activity
/droid/sdk/tools/android update project -p . -t android-10
Error: Target id 'android-10' is not valid. Use 'android list targets' to get the target ids.

ls -l
итого 16
-rw-r--r-- 1 dima dima 1306 апр 13 23:13 AndroidManifest.xml
-rw-r--r-- 1 dima dima  365 апр 13 23:13 default.properties
drwxr-xr-x 2 dima dima 4096 апр 13 23:13 jni
drwxr-xr-x 3 dima dima 4096 апр 13 23:13 res

cat default.properties
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
# "build.properties", and override values to adapt the script to your
# project structure.

# Project target.
target=android-10

Че я делаю не так? :-)

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email

Оффлайн dimania

  • Давно тут
  • **
  • Сообщений: 35
  • dimania
Там нет android-10
а я хотел собрать android-10
 :-(

Оффлайн mrs

  • Давно тут
  • **
  • Сообщений: 138
  • Paragraf 8
Там нет android-10
а я хотел собрать android-10
 :-(

в пункте 9) нужно установить соответствующий пакет Android SDK. Он там один из первых в списке, если память не изменяет.
(давненько я тут не появлялся)

Оффлайн Koi

  • alt linux team
  • ***
  • Сообщений: 1 893
  • валар дохаэрис
    • Канал на youtube
А на форуме есть специалисты по QT и с++ в общем?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
А на форуме есть специалисты по QT и с++ в общем?
Я себя специалистом не считаю, так, писал немного. А что за вопрос и какое отношение он имеет к теме про Android?
Андрей Черепанов (cas@)

Оффлайн Koi

  • alt linux team
  • ***
  • Сообщений: 1 893
  • валар дохаэрис
    • Канал на youtube
Я пока пытался понять qt мельком видел дополнения к Creator, плагины разные для андроида.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
А на форуме есть специалисты по QT и с++ в общем?
На работе этим занимаюсь, но я-бы к специалистам себя не отнёс, т.к. постоянно одним глазом в программу, а другим в справочник/учебник смотрю.

Спойлер
ЗЫ вот сейчас бьюсь и не понимаю концепщию таблицы в qt4 - она кардинально поменялась по-сравнению с qt3, а умом не постигну, а описания или вскользь, или на английском.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Руслан, и ты туда же?
Заводи отдельную тему! Попробуем разобраться.
Андрей Черепанов (cas@)