我正在使用Android NDK来构建库。我把一切都运行得很好,但后来我需要更改库中引用的包名。通过在其文件夹中调用ndk-build,我尝试再次构建库,但这是我得到的唯一输出,它似乎没有完全构建:
C:\my-app\jni>ndk-build -B
"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.
当我尝试运行应用程序时,这会导致链接错误不满意。我将发布我的.mk文件,但我认为这不重要,因为我以前的库正在处理这个.mk文件。我正在进行重建(-B参数)因为它超过了以前的构建。有什么建议?这是我的.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)
感谢您的帮助。
答案 0 :(得分:1)
应用清单中的android:targetSdkVersion
是什么? IIRC,直到SDK v8才引入bitmap.h
。
<android/bitmap.h>
而不是"android/bitmap.h"
?
EDIT2:自上次构建以来,targetSdkVersion是否发生了变化?我发现了一件有趣的事:android-10
下没有android-ndk-xx\platforms
。尝试在android-10
下创建一个空白android-ndk-xx\platforms
文件夹,然后在其中复制android-9
的内容。老实说,我不确定还有什么要检查。
答案 1 :(得分:0)
我遇到了同样的问题。然后我找到了这个答案。 Android bitmap.h is not found for native code compile
刚开始:
ndk-build APP_PLATFORM=android-8