KittyMemory
KittyMemory copied to clipboard
Android build error
ld: error: undefined symbol: KittyScanner::findDataFirst(unsigned long, unsigned long, void const*, unsigned long)
>>> referenced by DroidRedirect.cpp:51 (src\DroidRedirect.cpp:51)
>>> ./obj/local/arm64-v8a/objs/droidredirect/DroidRedirect.o:(FindBuildingFunction(char const*, int))
ld: error: undefined symbol: KittyScanner::findIdaPatternFirst(unsigned long, unsigned long, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)
>>> referenced by DroidRedirect.cpp:58 (src\DroidRedirect.cpp:58)
>>> ./obj/local/arm64-v8a/objs/droidredirect/DroidRedirect.o:(FindBuildingFunction(char const*, int))
ld: error: undefined symbol: KittyMemory::getElfBaseMap(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)
>>> referenced by KittyScanner.hpp:175 (src/../KittyMemory\KittyScanner.hpp:175)
>>> ./obj/local/arm64-v8a/objs/droidredirect/DroidRedirect.o:(KittyScanner::ElfScanner::createWithPath(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&))
ld: error: undefined symbol: KittyMemory::getAllMaps()
>>> referenced by KittyScanner.hpp:163 (src/../KittyMemory\KittyScanner.hpp:163)
>>> ./obj/local/arm64-v8a/objs/droidredirect/DroidRedirect.o:(KittyScanner::ElfScanner::createWithPath(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&))
ld: error: undefined symbol: KittyScanner::ElfScanner::ElfScanner(unsigned long, std::__ndk1::vector<KittyMemory::ProcMap, std::__ndk1::allocator<KittyMemory::ProcMap> > const&)
>>> referenced by KittyScanner.hpp:163 (src/../KittyMemory\KittyScanner.hpp:163)
>>> ./obj/local/arm64-v8a/objs/droidredirect/DroidRedirect.o:(KittyScanner::ElfScanner::createWithPath(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&))
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
i just added the library to Android.mk and included it like in the example project but i get these errors on compilation, this is my android.mk:
LOCAL_PATH := $(call my-dir)
KITTYMEMORY_PATH = ../KittyMemory
KITTYMEMORY_SRC = $(wildcard $(KITTYMEMORY_PATH)/*.cpp)
include $(CLEAR_VARS)
LOCAL_MODULE := Keystone
LOCAL_SRC_FILES := $(KITTYMEMORY_PATH)/Deps/Keystone/libs-android/$(TARGET_ARCH_ABI)/libkeystone.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libcpp
LOCAL_SRC_FILES := libc++_shared.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := droidredirect
LOCAL_SRC_FILES := DroidRedirect.cpp And64InlineHook.cpp $(KITTYMEMORY_SRC)
LOCAL_STATIC_LIBRARIES := Keystone
LOCAL_CFLAGS := -fvisibility=hidden -fno-stack-protector -Wall -Wno-address-of-temporary
LOCAL_CPPFLAGS := -std=c++20 -fexceptions
LOCAL_SHARED_LIBRARIES := libcpp
LOCAL_LDLIBS += -llog
include $(BUILD_SHARED_LIBRARY)