Android上でサードパーティのライブラリをインストールします。

システムのサードパーティ(動的および静的)AndroidのSDKライブラリのインストール前には、未分化のモジュールを使用すると便利です。

Android.mk

$(CLEAR_VARS)が含ま
LOCAL_MODULE_TAGS: = オプション
LOCAL_PREBUILT_LIBS: = libには/ libAirFlyWfd.so 
LOCAL_EXPORT_C_INCLUDES: = $(LOCAL_PATH)
(BUILD_MULTI_PREBUILT)$を含めます

インストールをコンパイルした後にコピーするには、次の3つのファイルを作成します。

アウト\ターゲット\製品\イルカ-FVD-P1の\システム\ libに\ libAirFlyWfd.so 
アウト\ターゲット\製品\イルカ-FVD-P1 \ OBJ \ libに\ libAirFlyWfd.so 
アウト\ターゲット\製品\イルカ-FVD-P1 \ OBJ \ SHARED_LIBRARIES \ libAirFlyReceiver_intermediates \ export_includes

間で

OUT \ターゲット\製品\ドルフィン-fvd- P1 \システム\ libに\ libAirFlyWfd.soは、
基板に実装アームするために使用されます。
OUTドルフィン-fvd- \ターゲット\製品\ P1 \ OBJ \ libに\ libAirFlyWfd.so
他のモジュールに使用することは時間のリンクと呼ばれるコンパイル。

追加したばかりの時に同じライブラリを使用する必要がある他のシステムに接続したいです

LOCAL_SHARED_LIBRARIES:= \
libAirFlyWfd \

-----------------------------------以下は---------採掘ピットのプロセスであり、 ------------------ 
インターネットの情報によると、2つの方法がありますが、テスト後にandroid4.4.2上で適切に使用することはできません

($を含める使用する方法BUILD_PREBUILT)
$(CLEAR_VARS)が含ま
LOCAL_MODULE_TAGS: = オプション
 LOCAL_MODULE: = libAirFlyWfd 
LOCAL_MODULE_CLASS: = SHARED_LIBRARIES 
LOCAL_SRC_FILES: = LIB / libAirFlyWfd.so 
$(BUILD_PREBUILT)が含ま

次のように、この方法の最終結果は、

 
アウト\ターゲット\製品\イルカ-fvd- P1 \ SYSTEM \ libに\ libAirFlyWfd 
アウト\ターゲット\製品\イルカ-fvd- P1 \ OBJ \ libに\ libAirFlyWfd 
アウト\ターゲット\製品\イルカ -fvd-P1 \ OBJ \ SHARED_LIBRARIES \ libAirFlyReceiver_intermediates \ export_includes

接尾辞なしの.so libディレクトリに2つのファイルにパックされ、これを呼び出して、他のモジュールにつながっているlibAirFlyWfdを待っている中、このライブラリ

外\ターゲット\製品\ dolphin- FVD-P1の\は、 OBJ \ libに\ディレクトリの下に見つけることができないlibAirFlyWfd.soとエラー
作るん:*** NOにルール作りの目標を' アウト/ターゲット/製品/イルカ-FVD-P1の/ OBJ / libに/ libAirFlyWfd.so '

 


一方、基板に実装
OUT \ターゲット\製品\ドルフィン-FVD-P1 \システム\ libに\ libAirFlyWfdは、この文書は、いかなる方法は、動的ライブラリとして識別されません

変更した場合

LOCAL_MODULE:= libAirFlyWfd.so
次のようにインストールがされた後
アウト\ターゲット\製品\イルカ-fvd- P1 \ SYSTEM \ libに\ libAirFlyWfd.so 
アウト\ターゲット\製品\イルカ -fvd- P1 \ OBJ \ libに\ libAirFlyWfd.so 
アウト\ターゲット\製品\イルカ -fvd-P1 \ OBJ \ SHARED_LIBRARIES \ libAirFlyReceiver.so_intermediates \ export_includes

ライブラリファイル名はOKですが、

他のモジュールを呼び出す場合より.soの結果として間違ったlibAirFlyReceiver.so_intermediatesのディレクトリ名は、export_includesを見つけることができません
作る:***にノーとルール作りの目標を' アウト/ターゲット/製品/イルカ-FVD-P1 / OBJ / SHARED_LIBRARIES / libAirFlyWfd_intermediates / export_includes '

 

メソッドの二つの使用$(PREBUILT_SHARED_LIBRARY)が含ま

 

LOCAL_PATH:= $(my-呼び出すDIR 

$(CLEAR_VARS)が含ま
:LOCAL_MODULE = libAirFlyWfd.so 
:LOCAL_SRC_FILES = libに/ libAirFlyWfd.so
 含ま$(PREBUILT_SHARED_LIBRARYを) 
任意の反応Android.mkを行わない上記の方法によれば、何の定義は4.4.2アンドロイドべきではありません
操作の方法を、対応する$(PREBUILT_SHARED_LIBRARY)を含み、唯一、NDK r5をした後のように見える、特にテストされていませんでした。この操作をサポートしています。
最後の参照
https://blog.csdn.net/lizhiguo0532/article/details/7219349
使用
が含ま$(BUILD_MULTI_PREBUILT)メソッドはOKでした。

-------------------------------------------------- ----------
上記すべてのモジュールへのアクセス、共有ライブラリシステムに搭載されています。
単一モジュール場合、対応Android.mkに直接使用することができます
LOCAL_LDFLAGS + = $(LOCAL_PATH)/lib/libAirFlyWfd.so
パス指定されたライブラリへ。

そして、ボードに書き込み、またはこのライブラリアプリケーションに依存するために、ボード上で正しく起動することはできません、次の/システム/ / libにライブラリにコピー(PRODUCT_COPY_FILESを)忘れないでください。

おすすめ

転載: www.cnblogs.com/tid-think/p/11078692.html