1、環(huán)境及版本信息
環(huán)境信息:suse linux
Android-ndk版本:android-ndk-r18b
2仪芒、添加NDK環(huán)境變量
在/etc/profile文件內(nèi)容的后面中添加環(huán)境變量
NDKROOT=/home/tools/android-ndk-r18b
export PATH=$NDKROOT:$PATH
添加后執(zhí)行source /etc/profile
3、編寫 Android.mk
編譯腳本及代碼結(jié)構(gòu)
目錄結(jié)構(gòu)
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# 生成的so庫的名字為libdemo.so
LOCAL_MODULE := demo
# 用于編譯的c文件
LOCAL_SRC_FILES := demo.c
#添加靜態(tài)庫
LOCAL_STATIC_LIBRARIES += /home/lei/build/lib/libswscale.a
LOCAL_STATIC_LIBRARIES += /home/lei/build/lib/libavutil.a
LOCAL_STATIC_LIBRARIES += /home/lei/build/lib/libavcodec.a
#添加庫的h文件路徑
LOCAL_C_INCLUDES += /home/lei/build/include
# 生成庫的類型耕陷,是動(dòng)態(tài)庫掂名,靜態(tài)庫還是可執(zhí)行文件,這里先來生成一個(gè)動(dòng)態(tài)庫
include $(BUILD_STATIC_LIBRARY)
Applocation.mk
APP_ABI := armeabi-v7a
APP_PLATFORM := android-18
4哟沫、執(zhí)行編譯
在當(dāng)前目錄下執(zhí)行ndk-build
編譯成功后再jni同目錄先回生成一個(gè)obj目錄饺蔑,靜態(tài)庫在obj/local/armeabi-v7a下面
編譯后目錄結(jié)構(gòu)