Skia is not part of NDK which is the reason why SkCanvas.h is missing. Judging from your Android.mk you need to build 'your shared library' with a full Android tree. It might be possible but since non of the libraries offer a stable API there is no guarantee that what you build will be compatible with different Android versions (since you are using shared libraries).
eclipse giving error after NDK build and can't find numerous android source files
-
28-11-2021 - |
Domanda
I get the following build error:
**** Build of configuration Default for project MyPlugin ****
D:\android-ndk-r8b-windows\android-ndk-r8b\ndk-build.cmd all
"Compile++ thumb : sampleplugin <= main.cpp
In file included from jni/animation/AnimationThread.h:25:0,
from jni/animation/AnimationPlugin.h:27,
from jni/main.cpp:31:
jni/RenderingThread.h:26:22: fatal error: SkCanvas.h: No such file or directory
compilation terminated.
make: *** [obj/local/armeabi/objs/sampleplugin/main.o] Error 1
**** Build Finished ****
This is my Android.mk file:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := \
main.cpp \
PluginObject.cpp \
RenderingThread.cpp \
animation/AnimationPlugin.cpp \
animation/AnimationThread.cpp \
audio/AudioPlugin.cpp \
background/BackgroundPlugin.cpp \
form/FormPlugin.cpp \
navigation/NavigationPlugin.cpp \
paint/PaintPlugin.cpp \
video/VideoPlugin.cpp \
jni-bridge.cpp \
WEBCORE_PATH := external/webkit/Source/WebCore
LOCAL_C_INCLUDES += \
$(JNI_H_INCLUDE) \
$(LOCAL_PATH) \
$(LOCAL_PATH)/animation \
$(LOCAL_PATH)/audio \
$(LOCAL_PATH)/background \
$(LOCAL_PATH)/form \
$(LOCAL_PATH)/navigation \
$(LOCAL_PATH)/paint \
$(LOCAL_PATH)/nspluginwrapper \
$(LOCAL_PATH)/video \
$(WEBCORE_PATH)/bridge \
$(WEBCORE_PATH)/plugins \
$(WEBCORE_PATH)/platform/android/JavaVM \
external/webkit/Source/WebKit/android/plugins \
external/skia/include/core
LOCAL_SHARED_LIBRARIES := \
libnativehelper \
libandroid \
libutils \
libcutils \
libEGL \
libGLESv2 \
libskia
LOCAL_CFLAGS += -fvisibility=hidden
LOCAL_MODULE:= libsampleplugin
LOCAL_MODULE_TAGS := optional
include $(BUILD_SHARED_LIBRARY)
It seems every path needed is specified in the android.mk, and short of copying every header ever into the source jni folder, what are my options? Thanks in advance.
Soluzione
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow