私のプロジェクトでは、依存関係のためにAARを使用する必要があります。 AARはいくつかのクラスとjniライブラリ(例:libdemo.so)をパッケージ化しています。 jniライブラリは、プロジェクトでLOCAL_SHARED_LIBRARIESとして使用されています。 Gradleの2.2.3のためのAndroidのプラグインでAndroidプラグインでAARにパッケージ化されたjniライブラリの検索方法2.3.1?
、私は、次の2つの方法取る:手動
1.Unpackaged AARをしてAndroid.mkに関連したディレクトリにlibdemo.so入れる:
###########################prebuild libdemo.so##############################
include $(CLEAR_VARS)
LOCAL_MODULE := libdemo LOCAL_SRC_FILES := libdemo.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) include
$(PREBUILT_SHARED_LIBRARY)
2.AARはbuild/intermideateでアンパッケージされています。
###########################prebuild libdemo.so##############################
include $(CLEAR_VARS)
LOCAL_MODULE := libdemo
AAR_LIB_PATH = $(LOCAL_PATH)/../../../build/intermediates/exploded-aar/vm/jni/armeabi
LOCAL_SRC_FILES := $(AAR_LIB_PATH)/libdemo.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
include $(PREBUILT_SHARED_LIBRARY)
しかし、Gradleの2.3.1のためのAndroidのプラグインのために、ルールが変更さ::だから私はAndroid.mkにlibdemo.soするパスを設定し
ビルドキャッシュ:店舗一定の出力をAndroidプラグインは、プロジェクトをビルドする際に を生成します(パッケージ化されていないAARや事前にデキューされた リモート依存など)。
gradle.propertiesファイルに対する相対パスを指定します。
android.buildCacheDir=buildcache
直接buildcacheそれは作品と私はキャッシュを見ることができますが、私はlibdemo.so見つけることができません:私は今WAY 2を使用することはできません
。 jniライブラリをリンクする便利な方法はありますか?