首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android NDK 構建共享庫:Android.mk 與 Application.mk 配置指南

     編輯:程式設計綜合問答

目錄結構

jni/
  Android.mk
  Application.mk
  mylib/
    include/
    src/
    Android.mk

Application.mk (全局配置)

APP_OPTIM := release
APP_PLATFORM := android-21
APP_STL := c++_static
APP_CPPFLAGS := -frtti -fexceptions -DANDROID
APP_ABI := arm64-v8a armeabi-v7a x86 x86_64
APP_MODULES := mylib

模塊 Android.mk (mylib/Android.mk)

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := mylib
LOCAL_SRC_FILES := src/file1.cpp src/file2.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(BUILD_SHARED_LIBRARY)

主 Android.mk (jni/Android.mk)

LOCAL_PATH := $(call my-dir)
include $(call all-subdir-makefiles)

構建命令

ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./jni/Android.mk

關鍵點

  • APP_STL 選 c++_static 避免多庫 STL 衝突。
  • LOCAL_EXPORT_C_INCLUDES 讓依賴模塊自動獲取頭文件路徑。
  • 靜態庫用 BUILD_STATIC_LIBRARY,動態庫用 BUILD_SHARED_LIBRARY。
  • CMake (現代 NDK 推薦) 替代 mk 文件,語法更清晰,IDE 支持更好。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved