我试图在任何项目之外使用ndk工具编译本机lib。
我在航站楼使用以下设备:

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。我做错什么了?或者我试图做的事情(从应用程序项目外部编译库)不可能实现。

最佳答案

可以从应用程序项目外部编译库。
您刚刚错过了对application.mk文件的设置NDK_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来构建库。

关于android - 如何使用NDK构建系统从应用程序项目外部编译 native 库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27863263/

10-10 16:02