サードパーティのバイナリのみの JNI ライブラリに依存する Android プロジェクトがあります。ant を使用すると、.so を libs/ にドロップし、ヘッダーを jni/ にドロップするだけで完了です。
ただし、私のAndroidプロジェクトの残りの部分はmavenを使用しており、他のライブラリと同じように、このライブラリを既存のmavenベースのプロジェクトに統合できるようにしたいと考えています(つまり、<dependency />
エントリを使用して、会社のサーバーから自動的にダウンロードされたライブラリ)。 .
とを使用mvn deploy:deploy-file
して .so ファイルを手動でアップロードし、ヘッダーを zip にアップロードして を使用して展開しようとしました。しかし、NDK は依然としてライブラリとヘッダーを検出できません。-Dpackaging=so
-Dclassifier=armeabi
-Dpackaging=har
私の 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>
このようなサードパーティのライブラリを Android 用の maven にデプロイする最良の方法は何でしょうか?