2017-12-12 54 views
0

android.mk에서 문제가 있습니다. 항상 -lsubstrate-dvm 및 -lsubstrate를 찾을 수 없습니다. 나는 그것이 무엇인지 모른다. 누군가이 문제를 해결하는 방법을 말해 줄 수 있습니까? 여기에 로그 캣은 다음과 같습니다-libsubstrate-dvm -libsubstrate

여기
Android NDK:non-system libraries in linker flags: -libsubstrate-dvm -libsubstrate 
Android NDK:  This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES 
Android NDK:  or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the 
Android NDK:  current module 
cannot find -libsubstrate-dvm 
cannot find -libsubstrate 

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 
LOCAL_MODULE := substrate 
LOCAL_SRC_FILES := libsubstrate.so 
include $(PREBUILT_SHARED_LIBRARY) 

include $(CLEAR_VARS) 
LOCAL_MODULE := substrate-dvm 
LOCAL_SRC_FILES := libsubstrate-dvm.so 
include $(PREBUILT_SHARED_LIBRARY) 

include $(CLEAR_VARS) 
LOCAL_MODULE := cydiasubstrate.cy 
LOCAL_SRC_FILES := cydiasubstrate.cy.cpp 
LOCAL_LDLIBS := -llog -L$(LOCAL_PATH) -lsubstrate-dvm -lsubstrate -lz 
LOCAL_ARM_MODE := arm 
APP_ALLOW_MISSING_DEPS=true 

include $(BUILD_SHARED_LIBRARY) 

날이 문제를 해결하는 데 도움 주시기 바랍니다 android.mk에게 있습니다.

답변

0

기판 DVM은 그렇지 않은 소스에, 사전 빌드 라이브러리에 의존 내장되는 모듈의 이름입니다, 그래서 당신은 당신이 추가 지원이 필요하면 다음 링크를 따라 할 수 libsubstrate-dvm.so

을 찾아야한다 : https://blog.gdssecurity.com/labs/2014/12/16/hooking-non-public-methods-with-the-ndk-using-mobile-substra.html

기재 라이브러리를 포함한다. 으로가는 가장 쉬운 방법은 '/ sdk/extras/saurikit/cydia_substrate /' 디렉토리로 이동하고 'substrate.h'를 복사하여 '/ sdk/extras/saurikit/cydia_substrate/lib //로 이동하는 것입니다. '디렉토리에 복사하고 'libsubstrate-dvm.so '파일을 프로젝트의 jni 폴더에 복사하십시오.