Развертывание зависимостей Android ndk в репозитории Maven

У меня есть проект Android, который зависит от сторонней библиотеки JNI только для двоичных файлов. Используя муравей, я могу просто сбросить.so в libs/ и заголовки в jni/ и все будет готово.

Однако остальные мои проекты Android используют maven, и я хотел бы иметь возможность интегрировать эту библиотеку в мои существующие проекты на основе maven так же, как и любую другую библиотеку (т.е. с <dependency /> запись, библиотека автоматически загружается с сервера компании).

Я попытался вручную загрузить файлы.so, используя mvn deploy:deploy-file с -Dpackaging=so а также -Dclassifier=armeabiи загрузил заголовки в zip и развернул с помощью -Dpackaging=har, Но NDK все еще не может обнаружить библиотеку и заголовки.

Мой Android.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := test
LOCAL_LDLIBS := -llog
LOCAL_SHARED_LIBRARIES := my-dependency
LOCAL_SRC_FILES := test.cpp
include $(BUILD_SHARED_LIBRARY)

и зависимость в моем пом

<dependency>
    <groupId>com.thirdparty.my-dependency</groupId>
    <artifactId>my-dependency</artifactId>
    <version>1.0</version>
    <classifier>armeabi</classifier>
    <type>so</type>
</dependency>

Каков наилучший способ развертывания сторонней библиотеки, как это в Maven для Android?

1 ответ

Решение

После некоторой работы с образцами мне удалось собрать ее.

Развертывание в порядке, но, оказывается, мне нужно добавить

LOCAL_SHARED_LIBRARIES := $(ANDROID_MAVEN_PLUGIN_LOCAL_SHARED_LIBRARIES)
include $(BUILD_SHARED_LIBRARY)
include $(ANDROID_MAVEN_PLUGIN_MAKEFILE)

К приложению Android.mk

Другие вопросы по тегам