linux 下使用ndk-build編譯android使用的c++靜態庫
阿新 • • 發佈:2019-02-02
1)下載android-ndk-r4
下載地址 http://www.ideasandroid.com/android/sdk/android-ndk-r4-linux-x86.zip
http://developer.android.com/sdk/ndk/overview.html
下載完成後直接解壓就可以用了。
2)配置android-ndk-r4環境變數
命令列執行sudo gedit /etc/profile,在檔案末尾加入如下內容:
#set NDK envNDKROOT=/home/ideasandroid/dev/android-ndk-r4
export PATH=$NDKROOT:$PATH
儲存後,重啟機器。至此 android NDK 安裝完畢。
3)在當前工程目錄下建立jni目錄
檔案目錄結構如下
.
├── Android.mk
├── Application.mk
└── src
└── Android.mk
各個檔案內容如下:
./Android.mk
include $(call all-subdir-makefiles)
./Application.mk
APP_ABI:=armeabi-v7a DEBUG := $(NDK_DEBUG) ifndef NDK_DEBUG DEBUG := 0 endif ifeq ($(DEBUG),true) DEBUG := 1 endif ifeq ($(DEBUG),1) APP_CFLAGS += -O0 -g APP_OPTIM := debug else APP_CFLAGS += -O2 APP_OPTIM := release endif APP_STL := stlport_static APP_CPPFLAGS += -fexceptions APP_PLATFORM := android-9 NDK_TOOLCHAIN_VERSION := 4.8
./src/Android.mk
LOCAL_PATH:= $(call my-dir)/../.. include $(CLEAR_VARS) LOCAL_CPP_EXTENSION := .cpp LOCAL_MODULE:= libfastudx LOCAL_PRELINK_MODULE := false LOCAL_SRC_FILES := //filelist *.cpp LOCAL_C_INCLUDES += $(LOCAL_PATH)\ $(LOCAL_PATH)/inc \ $(LOCAL_PATH)/linux LOCAL_CFLAGS := '-DUDX_NO_FILE_TRANSFORM_WCHAR' include $(BUILD_STATIC_LIBRARY)
4)在jni目錄下執行ndk-build
5)成功