2015-02-25 2 views
0

В принципе, я хочу знать, как использовать общую библиотеку C++ в Android Studio в коде NDK (внутри jni part). В этом есть много вопросов, но все они основаны на изменении Android.mk, что не является возможным, потому что в AS оно генерируется автоматически.Android Studio использует общую библиотеку в коде NDK

ответ

0

Чтобы использовать предварительно построенные librairies с Android Studio, вы должны выполнить следующие действия:

  1. Скомпилируйте C++ библио с ndk-build (здесь вы строите librairies для Android архитектуры, таких как руки, x86, и т.д.).
  2. Создайте оболочку класса Java и JNI-оболочку для ваших методов на C++.
  3. Для этого вам необходимо отключить gradle for ndk-build и создать свой собственный Android.mk и Application.mk в папке jni.
  4. Импортируйте библиотеку .so и предварительно создайте ее в Android.mk.
  5. Вызовите ndk-build вручную с консоли Android Studio.
  6. Затем включите заголовок своей библиотеки и вызовите его функции в части JNI.

Для любого дополнения к информации я советую вам видео intel, которое вы можете найти here.

+0

Я упоминал, что изменение файлов .mk - это _not_, что я прошу – Sam

+0

На самом деле, плагин gradle не поддерживает такую ​​конфигурацию NDK. Если вы проверите это [link] (https://android.googlesource.com/platform/tools/base/+/studio_1.0.0/build-system/gradle/src/main/groovy/com/android/build/gradle/ tasks/NdkCompile.groovy) вы можете увидеть его ограничения. Сегодня, если вы хотите добавить предварительно созданные библиотеки в свой проект, вы должны использовать файлы .mk. – Sierra

+0

Спасибо, вот что я хотел знать – Sam

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