欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

ndk-build的简单用法

程序员文章站 2022-06-16 10:42:15
ndk build最简单的一条ndk build命令:ndk-build APP_BUILD_SCRIPT=Android.mk NDK_PROJECT_PATH=./ APP_PLATFORM=android-24 APP_ABI=armeabi-v7a指定下面的几个参数给ndk-build脚本,就可以直接根据andorid.mk来编译了:APP_BUILD_SCRIPTNDK_PROJECT_PATHAPP_PLATFORMAPP_ABI参数说明NDK_PROJECT...

ndk build

最简单的一条ndk build命令:

ndk-build APP_BUILD_SCRIPT=Android.mk NDK_PROJECT_PATH=./ APP_PLATFORM=android-24 APP_ABI=armeabi-v7a

指定下面的几个参数给ndk-build脚本,就可以直接根据andorid.mk来编译了:

  • APP_BUILD_SCRIPT
  • NDK_PROJECT_PATH
  • APP_PLATFORM
  • APP_ABI

参数说明

  • NDK_PROJECT_PATH
    • 此变量值必须是你工程根目录的绝对路径
  • APP_MODULES
    • 模块名是可选的, 默认由Android.mk文件决定
  • APP_ABI
    • 在默认情况下,NDK会使用'armeabi' ABI 来生成二进制机器码,可以是armeabi-v7a,arm64-v8a,x86,x86_64, all
  • APP_BUILD_SCRIPT
    • 在默认情况下,NDK会在jni目录下查找Android.mk文件并使用它,

Application.mk

Application.mk 指定 ndk-build 的项目级设置。默认情况下,它位于应用项目目录中的 jni/Application.mk 下。

Android.mk

Android.mk 文件位于项目jni/ 目录的子目录中,用于向构建系统描述源文件和共享库。

 

注意

  • Gradle 的 externalNativeBuild 会忽略 APP_ABI。请在 splits 块内部使用 abiFilters 块或(如果使用的是“多个 APK”)abi 块。
  • Gradle 的 externalNativeBuild 将根据 externalNativeBuild.ndkBuild.path 变量自动配置此路径。
  • Include 路径应使用 LOCAL_C_INCLUDES 而不是显式 -I 标记。
  • APP_CPPFLAGS 应优先于 APP_CXXFLAGS

 

参考:

NDK Application.mk使用手册

Android ndk-build

本文地址:https://blog.csdn.net/hongszh/article/details/111900835

相关标签: android