如何从应用程序项目外部使用 NDK 构建系统编译本机库?
How to compile a native library using NDK build system from outside an app project?
我正在尝试在任何项目之外使用 ndk 工具编译本机库。
我在终端使用以下内容:
ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk APP_PLATFORM=android-9 V=1
我在 Android.mk 的同一目录中还有一个 Application.mk
APP_BUILD_SCRIPT := $(call my-dir)/Android.mk
NDK_PROJECT_PATH := $(call my-dir)
APP_PLATFORM := android-9
APP_ABI := armeabi-v7a
我想使用而不是从命令行传递这些标志。不过,构建系统忽略了我的 Application.mk。我究竟做错了什么?否则可能无法实现我正在尝试做的事情(从应用程序项目外部编译库)。[=12=]
可以从应用程序项目外部编译库。
您刚刚错过了 NDK_APPLICATION_MK
到 Application.mk 文件的设置。
ndk-build NDK_PROJECT_PATH=. NDK_APPLICATION_MK=Application.mk APP_BUILD_SCRIPT=Android.mk
一个更简单的方法是将 make 文件(Android.mk、Application.mk)放在构建系统希望找到的名为 jni/
的文件夹中。您只需在项目根文件夹上调用 ndk-build
来构建您的库。
我正在尝试在任何项目之外使用 ndk 工具编译本机库。 我在终端使用以下内容:
ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk APP_PLATFORM=android-9 V=1
我在 Android.mk 的同一目录中还有一个 Application.mk
APP_BUILD_SCRIPT := $(call my-dir)/Android.mk
NDK_PROJECT_PATH := $(call my-dir)
APP_PLATFORM := android-9
APP_ABI := armeabi-v7a
我想使用而不是从命令行传递这些标志。不过,构建系统忽略了我的 Application.mk。我究竟做错了什么?否则可能无法实现我正在尝试做的事情(从应用程序项目外部编译库)。[=12=]
可以从应用程序项目外部编译库。
您刚刚错过了 NDK_APPLICATION_MK
到 Application.mk 文件的设置。
ndk-build NDK_PROJECT_PATH=. NDK_APPLICATION_MK=Application.mk APP_BUILD_SCRIPT=Android.mk
一个更简单的方法是将 make 文件(Android.mk、Application.mk)放在构建系统希望找到的名为 jni/
的文件夹中。您只需在项目根文件夹上调用 ndk-build
来构建您的库。