5

サードパーティのバイナリのみの 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 にデプロイする最良の方法は何でしょうか?

4

1 に答える 1

3

サンプルを少しいじった後、なんとかコンパイルすることができました。

展開は問題ありませんが、追加する必要があることがわかりました

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

アプリの方へAndroid.mk

于 2013-05-08T06:50:56.263 に答える