2

Есть ответы на вопросы о получении tess-two проекта интегрирован в Android проект в Android Studio, но многие из них устарели и никто не использовал существующие возможности, определенные здесь:Строительства тессы-два в проект с помощью Gradle Android Studio выстраивают

Используя Android Studio 2.2 и более поздние версии, вы можете использовать NDK для компиляции кода C и C++ в собственную библиотеку и упаковать ее в APK с помощью интегрированной системы сборки Gradle. Ваш код Java может затем вызывать функции в вашей родной библиотеки через Java Native Interface (JNI)

Какие конкретные шаги будут необходимы, чтобы сделать tess-two функциональность часть полученного APK, используя функциональные возможности в Android Studio, а не внешнее размещение файлов, манипуляции и инструменты командной строки? Так что, взяв здание, создайте файлы * .so в среде IDE. В частности, используя только Android Studioвстроенная система сборки (Gradle), как описано here.

1. Запустить новый проект

starting a new Android Studio project with C++ support

2. Импорт Tess-Two в проект

import tess-two as a module in the new project

2b. Добавьте все необходимые подключаемые модули

add to tess-two build.gradle to pull required plug-ins

3. Добавьте код в основной деятельности, чтобы получить базовую функциональность

static import of tess-two native files

4. Настройка Android Studio построить так, чтобы встроенная функциональность

Это где специфика требуется

ответ

3

4. Настройка Android Studio сборки для родной функциональности

4а. Link C++ Project with Gradle

Сначала проверьте проект для создания файлов tess-two. Вы можете выбрать файлы CMakeLists.txt или Android.mk. Оба в настоящее время поддерживаются.

checking project build config files

В этом случае, я использовал ndk-build, который, казалось, как хороший выбор для интеграции нативного кода.

Linking C++ project

Для получения дополнительной информации см Android Studio documentation

4b. Управление длинными командами

В Windows могут возникать ошибки, если длина команды слишком велика. Чтобы предотвратить проблемы, используйте LOCAL_SHORT_COMMANDS И APP_SHORT_COMMANDS в файле Android.mk.

Adding attributes that reduce command length

ошибка "е = 87" является то, что вы избежать, делая это:

The parameter is incorrect error 87 message

Более подробная информация по этой теме см stackoverflow question about error 87.

4c. Добавить зависимость для Tess-два

В Файл> Структура проекта> Зависимости использовать + добавить tess-two зависимость:

add tess-two as a dependency

4d. Постройте проект и проверьте файл .apk для файлов .so.

Сборка, которая занимает много времени, должна завершиться сейчас. Убедитесь, что файл .apk содержит файлы .so, созданные во время сборки. С tess-two библиотек в качестве статического инициализатора, запустите проект на вашем Android устройстве:

apk file with tess-two .so files and running test app