Войти
ФлеймФорумПрограммирование

На чём писать под Андроид? (4 стр)

Страницы: 13 4 5 638 Следующая »
#45
16:52, 19 апр. 2012

kvakvs
Это лишнее звено будет, разбираться с тем, как ставить с флешки незнакомую ось. Мне и так трудно.

#46
17:00, 19 апр. 2012

TarasB
> Это лишнее звено будет, разбираться с тем, как ставить с флешки незнакомую ось.
> Мне и так трудно.
wubi
http://www.ubuntu.com/download/ubuntu/windows-installer

#47
17:23, 19 апр. 2012

Короче тоже начал устанавливать NDK, попробую ка, ага ага...

P.S.

Блин, как долго Eclipse новые пакеты устанавливает (ставлю поддержку NDK)... Жуть...

#48
18:00, 19 апр. 2012

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

#49
18:31, 19 апр. 2012

А нет... красноглазики не сдаются... уже *.o под ARM породило сиё сумрачное творение злобного гения при кое каком ручном вмешательстве. Но что дальше не знаю. apk не собирается. Впрочем я как обезьяна пока с гранатой не очень понимаю что делаю...

#50
18:37, 19 апр. 2012

Мухаха!!!

TarasB не сдавайся!
Я только что откомпилил и залил на телефон и успешно запустил sample полностью нативного приложения отображающего плывущие волны "плазмы" на битмапе!
IT LIVES!!! >:-E

Надо было только поправить одну настройку которая эта секвойя заточенная под линух вставляет в настройки проекта (вместо "bash <пусть_к_ndk>/make-app" прописать на виндовый манер "<пусть_к_ndk>/make-app.cmd" в одной строчке). И вуяля. Арм скомпилился. Всё под виндой, так что не спеши браться за линух.

#51
18:45, 19 апр. 2012

slava_mib
> а когда тебе надо просто рендерить картинку + читать показания одно сенсора...
> нфиг ради этого мешать два языка?
  Действительно, нафиг в таком случае нужен С++ :)

TarasB
> оживлять пишущий ДВД
  В наше время когда есть образы дисков никто живыми дисками уже не пользуется. Точно так же как когда есть возможность поставить виртуалку никто не станет садиться голой жопой на угли и ставить линукс на хард, на котором стоит операционная система.

> Это обязательно? Я пипец как не хочу писать на жабе.
  Если для тебя установить плагин уже пипец какая задача, то я не представляю, как ты будешь писать на С++. Тут уже говорили, что чтобы запустить готовое приложение из мануала на Java достаточно пары часов и второй язык не нужен. А с С++ у тебя уже нехилые проблемы.

  И кстати работать с пикселями изображения в Java можно точно так же. Уж мне можешь поверить - я писал на ней софтварный рендеринг и с битовыми операциями повозился достаточно. Отличие будет только в том, как тебе этот массив потом запекать в картинку. Так что с setPixel/getPixel это ты загнул, конечно же.

#52
20:36, 19 апр. 2012

Я смог под андроид на Ruby hello word "собрать". Сейчас собираюсь fpc под винду собрать, на форуме zengl есть подробная инструкция.

#53
6:38, 20 апр. 2012

Zefick
> И кстати работать с пикселями изображения в Java можно точно так же. Уж мне
> можешь поверить - я писал на ней софтварный рендеринг и с битовыми операциями
> повозился достаточно.

Судя по тестам Native vs Dalvik которые можно нередко найти в инете производительность при этом проседает раз в 10-ть...

#54
8:25, 20 апр. 2012

=A=L=X=
> производительность при этом

А еще если про батарейку вспомнить,...

#55
8:57, 20 апр. 2012

Хыы... В SDL под андроид исходники заглянул - вовсю вызываются методы из Java через JNIEnv* (http://xdprof.sourceforge.net/doxygen/structJNIEnv__.html):

например при открытии файла участочек кода:

    // size = inputStream.available();
    mid = mEnv->GetMethodID(mEnv->GetObjectClass(inputStream),
            "available", "()I");
    ctx->hidden.androidio.size = mEnv->CallIntMethod(inputStream, mid);
    if (Android_JNI_ExceptionOccurred()) {
        goto failure;
    }

Странно, уж что что а функции открытия файла неужели в JNI чем то удобнее чем в Native API??? Хм...

#56
9:21, 20 апр. 2012

Как здорово, что все мы тут сегодня собрались:)
Не подскажите, как в эклипсе отключить проверку синтаксиса открытых файлов? А то он енумы не знает и не даёт запускать компиляцию. Приходится закрывать окна, перезапускать эклипс, и перекомпилировать полностью. И так для каждого запуска.

#57
9:26, 20 апр. 2012

Хаха, и действительно если закоментить строчку с app_dummy(), то приложение валится, ибо точки входа в "нативный" код вырезаются оптимизатором. =)
Так же если не иметь в проекте хотя бы один java класс даже пустой (у меня Dummy.java с пустым классом), то сборщик *.apk отказывается собирать собственно *.apk.

Теперь кажется доходит архитектура "чисто нативного" приложения на андроиде - на деле оно делает вот что.
Первое - линкует к проекту динамическую нативную библиотеку которую прогаешь ты сам в чистом C/C++. Однако в ней нет как таковой точки входа (вернее она есть, но не является истинной точкой входа).
Далее он линкует к проекту динамическую нативную библиотеку из недр самого андроида - app_glue. И вот каким то образом истинная точка входа оказывается именно в этой библиотеке и она инициализирует чего то там, какую то инфраструктуру и уже зовёт из твоей динамической библиотеку функцию android_main и вот тут то всё и начинает крутится.

Если забыть вызвать в своей бибиотеке публичную app_dummy, то компилер не разбирается (в силу динамичности подключений) что твоя функция android_main во первых кем то вызвается, во вторых имеет side-effect и вырезает её из бинарника оптимизируя, после чего либа app_glue не может её найти и всё дружно валится.
Ну в принципе нормальный ход... В принципе жить можно...

#58
9:27, 20 апр. 2012

А по теме,... там и под Windows же устанавливать ничего особо трудного, в крайнем случае полно туторов в гугле найти можно, - устанавливаем Eclipse, так чтобы он держал проекты Java и С++, распаковываем SDK от гугла (вроде бы даже желательно делать это прямо в папку эклипса), устанавливаем ADT через механизм установки дополнений Eclipse, - настраиваем ADT и пути к гугловским SDK. Далее переходим к туторам по написаннию HelloWorld приложения и отладке его в эмуляторе.

#59
9:30, 20 апр. 2012

aloha_hawaii

Странно, вот у меня сейчас ничего не ругается. Хотя страницей ранее в статье по ссылке неоднократно упоминается что чтобы эклипс перестал ругаться на С++ объявления типа надо явно пути к include-ам то в недрах NDK то в своём даже вроде проекте прописывать - тогда он их начинает видеть.
Но факт - у меня в samples/native-plasma ничего не ругается ни на что и позволяет компилировать даже открыв и редактируя код.
CDT же у тебя стоит в эклипсе?
Или может дело в том что я вчера обновил все плагины эклипса и они у меня самые свежие, может поправили...

Страницы: 13 4 5 638 Следующая »
ФлеймФорумПрограммирование

Тема в архиве.