歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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

關於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