2015-12-01 3 views
0

Я новичок в разработке Android, и я понятия не имею, как включить библиотеку, которая поставляется с SDK Google Tango.Включите проект танго SDK в уже существующий проект

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

Проблема в том, что теперь я хочу использовать такие функции, как onXyzIjAvailable(). Как включить и использовать библиотеку? Я знаю this, но мне нужно включить библиотеку и получить доступ к функции TangoService_connectOnXYZijAvailable().

Я хочу подчеркнуть, что я новичок в разработке Android, и я никогда не добавлял ничего. Я сам сам написал код или использовал Android Studio для загрузки и включения SDK, создания файлов GRADLE и позаботиться о компиляции/make-файлах. Я нашел this SO post, говоря о добавлении библиотеки, но я не понял ответа. Как импортировать его в этот проект и построить его?

Большое вам спасибо за помощь.

ответ

2
  1. Вы должны загрузить текущую апи танго и услуги разработчика для C here
  2. Распаковать и поместить папки (я назвал их tango_client_api и tango_service_sdk) вы хотите. Я предпочитаю структура типа:
    • ProjectFolder/приложение/
    • ProjectFolder/сборки/...
    • ...
    • tango_client_api/
    • tango_service_sdk/
    • третьей стороной /. ..
    • ...
  3. Теперь вы ВГА е включить Lib пути в ваш Android.mk Makefile (находится в пути, как ProjectFolder/приложение/SRC/главная/JNI/Android.mk), как следует:

    LOCAL_PATH := $(call my-dir) 
    PROJECT_ROOT_FROM_JNI:= ../../../../.. 
    PROJECT_ROOT:= $(call my-dir)/../../../../.. 
    include $(CLEAR_VARS) 
    
    LOCAL_MODULE := lib_your_project_name 
    LOCAL_SHARED_LIBRARIES := tango_client_api 
    LOCAL_CFLAGS := -std=c++11 
    
    LOCAL_C_INCLUDES := $(PROJECT_ROOT)/tango_service_sdk/include/ \ 
    
    LOCAL_SRC_FILES := your-project-file1.cc \ 
            your-project-file2.cc \ 
            your-project-file3.cc 
    
    LOCAL_LDLIBS := -llog -lGLESv2 -L$(SYSROOT)/usr/lib 
    include $(BUILD_SHARED_LIBRARY) 
    $(call import-add-path, $(PROJECT_ROOT)) 
    $(call import-module,tango_client_api) 
    
  4. В ваших .h файлы, которые вы можете использовать например: #include <tango_client_api.h> , чтобы получить доступ ко всем TangoService_functions

И это все. Я действительно рекомендую вам изучить примеры танго C на github https://github.com/googlesamples/tango-examples-c

+0

Проект, над которым я работаю, не имеет make-файлов. Он использует только град. Файл gradle можно найти здесь (http://pastebin.com/SZuRbNS7). Мне удалось добавить папки и загрузить файлы заголовков, но теперь я получаю ошибки компоновщика, так как я не добавил файлы .so. 'Ошибка: (110) undefined ссылка на 'TangoService_connectOnXYZijAvailable'' –

+1

Привет, обычно вам понадобится общий объект для компиляции источника, но это означает, что вам нужно будет связать библиотеку с apk. Это не то, что мы делаем в большинстве приложений Tango, потому что мы хотим, чтобы приложение всегда динамически связывалось с библиотекой в ​​системе/lib. Для этого мы помещаем файл .a в нашу исходную папку компиляции и компилируем его. Более подробная информация представлена ​​в файле .mk примера танго c примера здесь: https://github.com/googlesamples/tango-examples-c/blob/master/tango_client_api/Android.mk –

Смежные вопросы