1. 程式人生 > >linux 下使用ndk-build編譯android使用的c++靜態庫

linux 下使用ndk-build編譯android使用的c++靜態庫


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 env
NDKROOT=/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)成功