Я начал работать над NDK - Native Development Kit, используя JNI.Собственные библиотеки и документация NDK для Android.
В моем понимании НДК содержит: 1. Исходный код, содержащий набор .so библиотеки (и файлов C/C++ заголовка), каждая из специально скомпилирован для другой архитектуры Android: такие как ARM, MIPS, x86 , которые предоставляют нам некоторые API c/C++ для Android-устройства. 2. Цепочка инструментов, которая отвечает за сборку для каждой архитектуры Android.
Пример работы с NDK:
Я использую в моем приложении кода, то LogCat в C++, для этого я добавил к моему Android.mk (в Android-студий - в Gradle свойство):
LOCAL_LDLIBS := -llog
И в моей C++ кода я включать заголовок:
#include <android/log.h>
И я вижу, файл заголовка в: \ platform \ android-21 \ arch-arm \ usr \ include \ android \ log.h и файл lib в: \ platform \ android-21 \ arch-arm \ usr \ lib \ liblog.so
Мои вопросы:
Не все интерфейсы, которые существуют в рамках Java SDK существует в НДК Framework, не так ли?
Если я прав около 1: пока кажется, что работать с журналом очень легко, как узнать, какие API поддерживаются, а какие нет? Например, есть ли lib для использования камеры/flashlight/gps/Запись на хранение или для этого мне нужно использовать код Java? Я не видел ясного API или документацию об этом, а не в официальном http://developer.android, а не в документах, предоставляемых в установке NDK (stableAPIs. html содержит минимальное описание для минимального набора API), а не во многих вопросах, которые я читал в StackOverFlow.
Это другая тема. Компилятор NDK для разных архитектур Android основан на GCC для компиляции нашего C++ код справа? и как я могу узнать, какую версию C++ использую?
Благодаря
Спасибо за ваш комментарий! :) это ответ на мои вопросы. только что касается вопроса 2, я уже видел раздел «Стабильные API» в html, но он кажется очень плохим. Например, я хотел бы теперь работать с датчиками, и в API-интерфейсах Stable есть только 1 лайнер: « Прослушивать входные события и датчики непосредственно из собственного кода " Так что теперь я должен явно перейти к файлу заголовка, чтобы попытаться понять. И если мне нужна документация о библиотеках и их API, это кажется не существовавшим. Нет ли другого документа? –
ZiviMagic
Вы можете взглянуть на образец программы native-activity, который поставляется вместе с NDK. Он использует акселерометр. – Michael
Yup, но я не был специально настроен в реализации датчика, это было как пример ... Я принимаю ваш ответ так спасибо :) Я хотел создать отдельное сообщение, но, возможно, вы знаете, почему я не могу получить автоматическое завершение работы при написании кода C++ для этих собственных методов API в AndroidStudios? – ZiviMagic