【问题标题】:How to build NDK Library over a previous build如何在以前的构建上构建 NDK 库
【发布时间】:2025-12-18 19:45:02
【问题描述】:

我正在使用 Android NDK 构建一个库。我一切正常,但后来我需要更改库中引用的包名称。进行更改后,我尝试通过在其文件夹中调用 ndk-build 再次构建库,但这是我得到的唯一输出,它似乎没有完全构建:

C:\my-app\jni>ndk-build
Install        : libfilters.so => libs/armeabi/libfilters.so

当我尝试运行应用程序时,这会导致不满意的链接错误。我将发布我的 .mk 文件,但我认为这并不重要,因为我以前的库正在使用这个 .mk 文件。我的猜测是,我试图在之前的构建中构建这个存在​​问题。有什么建议?这是我的 .mk 文件:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := filters
LOCAL_SRC_FILES := filters.cpp
LOCAL_LDLIBS    := -lm -llog -ljnigraphics

include $(BUILD_SHARED_LIBRARY)

感谢您的帮助。

编辑:按照指示进行重建后,我会收到以下错误:

"Compile++ thumb : filters <= filters.cpp
C:/a-fa-outsidelands//jni/filters.cpp:4:28: fatal error: android/bitmap.h: No such file     or directory
compilation terminated.

【问题讨论】:

    标签: android android-ndk


    【解决方案1】:
    ndk-build -B
    

    强制完全重建。

    【讨论】:

    • 谢谢,但现在这会导致一个新错误。我编辑了我的问题以包含它。
    • 这是一个新问题。请接受这个问题的答案并开始一个新问题。