歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android項目使用外部.so - prebuild library on android

Android項目使用外部.so - prebuild library on android

日期:2017/3/1 10:57:54   编辑:Linux編程

關於Android項目中使用外部編譯好的library在網上也有些介紹,基本都是把相應的.so文件拷貝到android工程的 libs/armabi 目錄中,其實這種方法不地道,而且很多時候滿足不了要求,你無法在你的native code中使用這個.so中的features,因為你每次從新ndk-build的時候相應的lib目錄會被更新,你拷貝進去的.so會被刪除,編譯不能完成。這種情況可以參考ndk-docs中的 PREBUILTS.html 。基本過程就是在jni目錄下創建一個放置你要引入的.so的目錄,然後寫一個如下的Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := foo-prebuilt

LOCAL_SRC_FILES := libfoo.so

include $(PREBUILT_SHARED_LIBRARY)


在你需要引入這個.so的Android.mk中加入如下內容,

include $(CLEAR_VARS)

LOCAL_MODULE := foo-user

LOCAL_SRC_FILES := foo-user.c

LOCAL_SHARED_LIBRARIES := foo-prebuilt

include $(BUILD_SHARED_LIBRARY)

當然可能還需要一些頭文件的引入,那些就簡單了。
Copyright © Linux教程網 All Rights Reserved