Развертывание зависимостей 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