maven - 将 android ndk 依赖项部署到 maven 存储库

标签 maven android-ndk android-maven-plugin

我有一个 android 项目,它依赖于第三方,仅限二进制的 JNI 库。使用 ant,我可以删除 libs/中的 .so 和 jni/中的 header 并完成。

但是,我的其余 android 项目使用 maven,并且我希望能够将这个库集成到我现有的基于 maven 的项目中,就像我将任何其他库一样(即具有 <dependency /> 条目,库自动从公司服务器)。

我尝试使用 mvn deploy:deploy-file 手动上传 .so 文件与 -Dpackaging=so-Dclassifier=armeabi ,并以 zip 格式上传 header 并使用 -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)

以及我的 pom 中的依赖
<dependency>
    <groupId>com.thirdparty.my-dependency</groupId>
    <artifactId>my-dependency</artifactId>
    <version>1.0</version>
    <classifier>armeabi</classifier>
    <type>so</type>
</dependency>

在 maven for android 中部署这样的第三方库的最佳方法是什么?

最佳答案

在对示例进行了一些修补之后,我设法让它编译。

部署很好,但事实证明我需要添加

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

到应用程序的 Android.mk

关于maven - 将 android ndk 依赖项部署到 maven 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16213953/

相关文章:

maven - 访问位于 https 中的 Maven 存储库

android studio导入没有gradle的maven项目

java - Maven 幻像管理的依赖项

java - Maven CXF 插件 API 不兼容

在 Android 中使用 FFmpeg 时出现 Android NDK 错误?

android - Eclipse 编译成功但仍然给出语义错误

gradle - 不要使用Gradle创建APK

android-maven-plugin - Google Play 服务抛出的 android.content.res.Resources$NotFoundException

android - Maven 无法识别测试范围内的 apklib 依赖项

Android:Maven 问题与 ADT 14