Я могу сделать довольно собственное приложение C++ с Android?

Я интересуюсь следующими функциями:

  1. Запись приложения для Android Market, который записан полностью в C++ (порт существующего продукта на самом деле).
  2. Используйте быстрое буферное экраном пиксельное продвижение (или довольно использующий ES OpenGL для этого).
  3. Ввод данных пользователем захвата и направляет его к коду C++.

Действительно ли законно записать такое приложение для Рынка? Рыночная политика так или иначе строга к таким вещам?

24
задан avakar 20 February 2010 в 08:07
поделиться

4 ответа

Не существует 100% нативного решения, но то, что я думаю, вы ищете, это Android NDK (Native Development Kit)

С их сайта "Пожалуйста, обратите внимание, что NDK не позволяет вам разрабатывать только нативные приложения. Основной средой выполнения Android остается виртуальная машина Dalvik."

Я полагаю, что он позволяет вам делать вызовы собственного нативного кода из приложения Android

Я лично никогда не использовал его для своих игр, но я уверен, что он помог бы во многих вещах (например, возможность управлять собственной памятью и не иметь "лагов" из-за сборщика мусора)

.
1
ответ дан 29 November 2019 в 00:10
поделиться

Начиная с Регулярное выражение

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

Используя ленивый квантификатор, выражение пробует минимальное совпадение во-первых.

-121--1804510-

Жадные потребят как можно больше. На http://www.regular-expressions.info/repeat.html показан пример сопоставления HTML- тэгов с <. + > . Предположим, у вас есть следующее:

<em>Hello World</em>

Вы можете думать, что <. + > (. означает любой не новый символ и + означает один или несколько ) будет соответствовать только < em > и , когда в действительности это будет очень жадно, и перейти от первого < к последнему > . Это означает, что он будет соответствовать < em > Hello World вместо того, что вы хотели.

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

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

-121--1804504-

Это действительно не моя чашка чая, но есть что-то называется Android NDK (Native Development Kit), чтобы использовать, если вы хотите написать свою программу в C. Не уверен, как компилятор C++ поддержка, хотя.

Насколько я знаю, ваше приложение может быть почти на 100% родным кодом, но имейте в виду, что, идя таким образом, вам, вероятно, будет трудно поддерживать различные процессоры на оборудовании Android. Если вам нужно загрузить собственный код так, чтобы он был запущен с java, это, вероятно, не очень большая проблема для вас.

При гуглинге для «Android NDK» я нашел несколько других учебных пособий. Это очень минималистичный Hello World . Очевидно, вы хотите что-то гораздо больше, чем библиотека, которая возвращает последовательность на java, но это хороший первый старт, и вам, вероятно, придется сделать все описанные вещи. Сделайте поиск, используя NDK и Android в качестве ключевых слов, и вы получите хороший выбор. Я не вижу причин перечислять их здесь, поскольку такие списки, как правило, устаревают и ломаются в течение года или около того.

Полагаю, официальный сайт Android Developer от Google останется на месте и будет обновляться на новых выпусках платформы, у него есть ссылка на текущий NDK.

8
ответ дан 29 November 2019 в 00:10
поделиться

разговоры в этой теме могут вам помочь. http://groups.google.com/group/android-ndk/browse_thread/thread/50362904ae0574cf

суть такова, Можно делать только нативные приложения, и Android Market тоже не ограничивает вас. Но с ограниченной поддержкой нативной разработки, есть большая вероятность использования некоторых нестандартных функций, которые могут сломаться в будущих релизах.

1
ответ дан 29 November 2019 в 00:10
поделиться

http://developer.android.com/guide/basics/what-is-android.html

"Android SDK предоставляет инструменты и API, необходимые для начала разработки приложений на платформе Android с использованием языка программирования Java."

http://arstechnica.com/open-source/news/2009/06/android-goes-beyond-java-gains-native-cc-dev-kit.ars

В общем, это не так. Существует ограниченная поддержка C++ через JNI, но она в основном предназначена для дополнения Java-кода, а не для его замены. Для C++ не существует фреймворка/API (AFAIK), поэтому делать это не очень удобно.

0
ответ дан 29 November 2019 в 00:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: