Pull to refresh

Android NDK vs SDK vs iPhone

Reading time 2 min
Views 3.9K
Development for Android *

Окружение


Будем писать на MacOS, так как кармическая коала пока «пробуждается».
Eclipse Galileo, Android SDK 1.6r1 & NDK 1.6r1, установлены и настроены.
Писать будем на NDK 1.5, потому что на руках доступен только HTC Magic(32A).
Данное тестирование написано с целью «прощупать» почву, перед портированием игры с айфона на андройд.
далее
Total votes 12: ↑7 and ↓5 +2
Comments 6

Google опубликовала превью Android 3.0 SDK

Reading time 1 min
Views 833
Development for Android *
Android 3.0 (Honeycomb) — это новая версия платформы Android, которая разработана с нуля для устройств с большими экранами, в частности для планшетов. В ней представлены новая «голографическая» тема интерфейса и модель взаимодействия, которая основывается на многозадачности, уведомлениях и виджетах.



Сегодня Google опубликовала превью Android 3.0 SDK, с неокончательными API и образом системы, чтобы позволить разработчикам начать тестирование своих приложений для планшетов и начать знакомство с новой моделью пользовательского интерфейса, API и возможностями, которые будут доступны в Android 3.0.
Читать дальше →
Total votes 56: ↑45 and ↓11 +34
Comments 34

Сборка open-source библиотек на Android NDK

Reading time 5 min
Views 18K
Development for Android *
Привет, Хабралюди!

В процессе работы с Android NDK я столкнулся с проблемой сборки уже существующих Linux библиотек на Android NDK. Так как материала не слишком много в этой статье поделюсь своим опытом. В Андроиде я новичек, так что если найдете ошибки — пишите:)

Чтобы пример был не самым простым и при том полезным — возьмём библиотеку libFLAC. Этот даст возможность декодировать .flac файлы. По данному мануалу, я надеюсь, соберутся большинство других библиотек.
Читать дальше →
Total votes 38: ↑33 and ↓5 +28
Comments 7

Разработка под Android с использованием Linderdaum Engine

Reading time 8 min
Views 9.6K
Game development *
Привет хабрасообщество!

Тема написания приложений под андроид на С++ незаслуженно забыта. Сегодня мы узнаем как писать многоплатформенные приложения под Android используя Linderdaum Engine.

Читать дальше →
Total votes 28: ↑26 and ↓2 +24
Comments 18

Быстрая сборка С++ библиотек под Андроид

Reading time 2 min
Views 9.2K
Development for Android *
Привет хабрасообщество!

Многие задают вопрос: «У нас есть куча библиотек на С++, которые мы хотим собрать под Андроид. Как это сделать?». Ниже по шагам описан возможно самый простой способ это сделать.

Читать дальше →
Total votes 46: ↑36 and ↓10 +26
Comments 8

Как подружить SQLite андроида с языком, отличным от английского

Reading time 4 min
Views 15K
Development for Android *SQLite *

Здравствуй, дорогой читатель!
В этой статье я хочу затронуть проблему хранения кириллических данных в SQLite, попробовать разобраться с Android NDK, и вообще зажить прекрасной жизнью! Однако, с этого момента, считаю важными первые два пункта. О них и поговорим.

Известная проблема SQLite состоит в том, что он не любит никаких символов, кроме латинских, поэтому выполняется такое [1]:
SELECT "ы" LIKE "Ы";
0
SELECT "s" LIKE "S";
1


Такая проблема актуальна для наших широт, и может быть решена пользовательскими функциями.
Но Android не поддерживает функций, поэтому создаются костыли.

Давайте попытаемся обойти костыли и расширить наши возможности
Total votes 40: ↑34 and ↓6 +28
Comments 37

Вышел Native SDK для BlackBerry Tablet OS

Reading time 1 min
Views 1.2K
Tablets
Сегодня на конференции BlackBerry DevCon Americas 2011 было объявлено, что стал общедоступен Native SDK для BlackBerry PlayBook («NDK»), который перешёл со стадии бета в официальный релиз. NDK позволяет разработчикам получить все преимущества при разработке приложений для планшета BlackBerry PlayBook. NDK включает C/C++ POSIX библиотеки, жесты управления устройством, такие как проведение (swipe) и касание (touch) пальцем, доступ к QNX Momentics Tool Suite, интегрированной среде разработки на основе Eclipse, и средствам отладки и анализа. Разработчикам предоставляются инструменты для профилирования памяти, отладки приложений и получения статистики использования памяти, что способствует отлаживать сложные программы.
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Comments 12

Разработка для PlayBook с Native SDK

Reading time 5 min
Views 3.3K
Smartphones
Хотел поделиться своим личным видением ситуации с разработкой для BlackBerry PlayBook и немного рассказать о своём опыте использования Native SDK. Так сложилось, что я уже несколько лет работаю с ОСРВ QNX, которая стала основой для операционной системы PlayBook — BlackBerry Tablet OS. Сразу скажу, что сама платформа PlayBook, как и QNX, мне нравится. Однако, не буду никого агитировать за или против, а просто расскажу, что и как.

Наверное, стоит начать с того, что сейчас существуют две версии BlackBerry Tablet OS: текущая 1.0.x и бета-версия 2.0.0.x. Мне удалось поработать с двумя версиями. Вторая версия сейчас доступна для тестирования и должна выйти в середине февраля следующего года. Она будет включать много приятных изменений. Помимо прочего заявлена поддержка приложений Android. Есть, конечно, ряд ограничений, но авторы большинства приложений могут с лёгкостью перепаковать свои приложения для работы на PlayBook. Считаю, что это достаточно «вкусная» возможность. Приложения, разработанные для первой версии (в том числе и при помощи NDK), замечательно работают во второй.

Помимо уже существующих двух версий операционной системы для PlayBook, в следующем году ожидается выход платформы BBX. Платформа BBX также основана на QNX и будет использоваться при разработке не только планшетов, но и всех новых смартфонов BlackBerry. Очень похоже, что PlayBook представляет собой ступеньку от BlackBerry OS к BBX. Но это будет в следующем году, а пока рассмотрим то, что есть уже сейчас.
Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 10

Улучшенный Android NDK (Native Development Kit)

Reading time 5 min
Views 34K
Development for Android *
Sandbox
Долгое время занимаясь разработкой под Android, я постепенно пришел к выводу, что многих вещей мне, как разработчику, сильно не хватает. Тогда, в начале 2010-го, не хватало только C++ exceptions и RTTI. Без них любой нетривиальный C++ код просто не мог быть портирован на Android и требовал практически полного переписывания. Это было очень существенное ограничение, которое никак не давало мне покоя. К счастью, Android — это open source, поэтому, вооружившись максимой «если тебе что-то нужно, сделай это сам», я засел за работу. К моему удивлению, сделать поддержку полноценного C++ с исключениями и RTTI оказалось довольно несложно. Потребовалось всего около недели работы. Далее был сделан сайт, на который и были выложены получившиеся пакеты для Windows, Linux и Mac OS X, а также патч и инструкция по сборке.

Читать дальше →
Total votes 182: ↑177 and ↓5 +172
Comments 58

Портирование на Android

Reading time 5 min
Views 14K
Development for Android *

Портирование на Android



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

Движок


Движок (хобби) находится в разработке уже 10 лет.
Движок полностью написан на C/C++, до начала портации на Android поддерживал iOS и Windows.
Логика, рендеринг, звук — все на C/C++.

Читать дальше →
Total votes 30: ↑26 and ↓4 +22
Comments 17

Отладка нативного кода Android NDK в Windows

Reading time 4 min
Views 2.6K
Development for Android *
Sandbox

Введение


Доброго времени суток!

Однажды передо мною встала задача отловить непонятное падение в моем приложении. Насколько я знал тогда, Android NDK предоставлял возможность отлаживать C++ код, однако я смутно представлял себе, как это сделать. К сожалению, толковой информации по отладке нативного кода было очень мало. Потратив на это дело несколько вечеров, я все-таки разобрался и наладил отладку. Сейчас я расскажу о том, как это можно сделать и расскажу о том, какие грабли могут ожидать вас, если вы задумаете повторить мой путь.

Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Comments 6

Делаем OpenGL ES LiveWallpaper на Linderdaum Engine под Android

Reading time 4 min
Views 11K
Game development *Development for Android *
Tutorial
Привет Хабр!

Тема создания LiveWallpaper под Android уже хорошо обкатана: есть туториалы на чистой Java, есть туториалы на Java с OpenGL ES 1.0/2.0, есть… да чего только нет!

Сегодня мы посмотрим, как быстро сделать LiveWallpaper под Android на С++ используя Linderdaum Engine и GLSL.

Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Comments 2

Основы Android NDK на примере работы с OpenAL

Reading time 8 min
Views 36K
C++ *Development for Android *
Recovery mode
День добрый, уважаемые Хабраюзеры!

С недавних пор занимаюсь разработкой приложений под Android, в частности разработкой игр. Так сложилось, что для одного проекта пришлось работать с Android ndk. Все трудности и нюансы работы с native рассмотреть в принципе невозможно в рамках одной статьи, решил в данной статье небольшое введение в ndk написать.
А чтобы статья была интересна не только новичкам, покажу как работать с OpenAL и форматами WAV, OGG.

Работа с Android NDK
Total votes 46: ↑45 and ↓1 +44
Comments 13

Маленький мультиплатформенный 2d движок tengine (android/ios/win32/nix/kolibrios/web(emscripten))

Reading time 4 min
Views 17K
Game development *
Sandbox
Приветствую всех, кому стало интересно узнать о моем небольшом проекте, которым занимаюсь в свободное от работы время, о своем долгоиграющем проекте под названием «tengine».

Какова же цель этого поста? Ответ простой — я ищу однодумцев. Я верю в то, что есть еще много людей, которым нравится славный и добрый олдскул. В этом и вся миссия — писать удовольствия ради что-то маленькое, но вполне функциональное, платформу для «приставочных» игрушек в стиле 8/16 бит.

tengine DEMO game (web version) управление: клавиши со стрелкам, ctrl. Полноценная концовка.

Главная особенность, отличающая tengine от сотен подобных поделок — не совсем стандартная идеология:
  • архитектура проекта делает упор на минимизацию использования динамической памяти. Если память и выделяется, она выделяется исключительно на инициализации подсистем
  • использовать динамическую память нужно так, как будто не существует операционной системы, постоянно помнить о фрагментации. Удаление памяти происходит в строго обратном порядке создания (за этим следит простой механизм контроля удаляемых указателей)
  • использование сторонних библиотек сведено к минимуму и должно быть аргументировано, зачастую это потенциальный источник фрагментации памяти
  • игровая сцена представляет собою готовую для использования память, сгенерированная редактором уровней
  • работа с объектами сцены игры ведется исключительно через идентификаторы, динамически создать объект невозможно
  • использование fixed point вместо float
  • мультиплатформенность
  • официальный язык проекта — си

Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 26

Свежие впечатления о BlackBerry 10 NDK

Reading time 8 min
Views 10K
C++ *Qt *
Translation
image

Последние две недели я снова копался в BlackBerry 10 NDK, так как один из моих клиентов попросил помочь ему. Я предложил адаптировать свой курс «введение в Qt» под платформу BlackBerry, а также порекомендовал следовать советам из моей серии учебных роликов про BB10 и Cascades, опубликованных в начале этого года на YouTube. Теперь мне хочется поделиться с вами моими свежими впечатлениями о BlackBerry 10 NDK. Кстати, я уже писал о моих первых экспериментах с BB10 NDK этой весной.

Внимание. Это вольный перевод заметки Йэнса Веллера. Перевод сделан для составления общей картины о текущем состоянии мира [BB10 + Qt]. Приятного чтения.
Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Comments 1

Интеграция Android Studio, Gradle и NDK

Reading time 5 min
Views 46K
Intel corporate blog Programming *Development for Android *
Translation
В свете недавних изменений (начиная с релиза 0.7.3 от 27 декабря 2013) новая система сборки под Android становится очень интересной в том числе и для тех, кто использует NDK. Теперь стало действительно просто интегрировать нативные библиотеки в вашу сборку и генерировать APK для различных архитектур, корректно обращаясь с кодами версий.
Читать дальше →
Total votes 27: ↑27 and ↓0 +27
Comments 5

Отладка Android CMake проекта по-взрослому

Reading time 6 min
Views 13K
«Alawar Entertainment» corporate blog C++ *Development for Android *

После перевода наших проектов на CMake, встал вопрос об отладке нативной части Android. Так как инструменты NDK стали неактуальны, пришлось залезть в дебри и научить Eclipse запускать удалённую отладку CDT-проекта, что называется, вручную. В идеале, чтобы это выполнялось в один клик.

Если вам не чужда разработка с использованием Android NDK, и вы хотите познать некоторые тонкости отладки, велкам под кат.
Читать дальше →
Total votes 28: ↑27 and ↓1 +26
Comments 6

Android NDK, Revision 10 поддерживает архитектуру Intel 64-bit

Reading time 1 min
Views 6.8K
Intel corporate blog Programming *Development for Android *
Хорошая новость для разработчиков приложений под Android: новая, десятая версия Android NDK, вышедшая в июле, содержит целых три новых 64-битных ABI: arm64-v8a, x86_64 и mips64, что благоприятным образом скажется на производительности программ. Нам особенно приятно отметить появившуюся поддержку x86_64, ведь команда Intel, естественно, принимала в этой работе участие. К слову сказать, интерфейс х86 также был доработан, в частности, добавлена поддержка инструкций SSSE3. Компилятором по умолчанию для 64-битных платформ является GCC 4.9. Еще одно важное изменение: GDB обновился до версии 7.6.
И еще — Android NDK и этот блог имеют кое-что общее. А именно, начиная с этой версии, NDK автоматически умеет переводить код ARM NEON intrinsic функций в x86 intrinsics. А автор соответствующего кода — редактор блога Intel — Vikky13.
Полный список изменений.
Total votes 22: ↑20 and ↓2 +18
Comments 17
1