尝试运行ndk-gdb并收到此错误:
Android NDK安装路径:/ Library / AndroidSDK / ndk /
使用特定的adb命令:/ Library / AndroidSDK / platform-tools / adb
发现ADB版本:Android Debug Bridge版本1.0.31
使用ADB标志:
使用自动检测的项目路径:。
找到包名:com.dev.project
jni / Android.mk:18: * Android NDK:正在中止。 。停止。
应用程序所针对的ABI:Android NDK:
设备API级别:17
设备CPU ABIs:armeabi-v7a armeabi
错误:设备不支持应用程序的目标CPU ABI!
设备支持:armeabi-v7a armeabi
套餐支持:Android NDK:
jni / Android.mk中的第18行是导入模块调用。
这是什么意思以及如何解决它?
根据ndk文档可以调试应用程序。我正在使用Mac。 我可以构建并运行App,因此构建脚本应该没问题。
Android.mk
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libgl2jni
LOCAL_CFLAGS := -Werror -Wall -g
LOCAL_CPPFLAGS := -std=c++11
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../src $(LOCAL_PATH)/../../include $(LOCAL_PATH)/../../../boost
NDK_MODULE_PATH := $(LOCAL_PATH)/../../lib/ndk
LOCAL_SRC_FILES := $(subst $(LOCAL_PATH)/,,$(wildcard $(LOCAL_PATH)/*.cpp) $(wildcard $(LOCAL_PATH)/../../src/*/*.cpp))
LOCAL_LDLIBS := -llog -lGLESv2
LOCAL_STATIC_LIBRARIES := freetype
include $(BUILD_SHARED_LIBRARY)
$(call import-module,otherlib) #commenting this line launches the ndk-gdb, but ndk-build fails
Application.mk
APP_STL := gnustl_static
#remove for release?
APP_ABI := armeabi armeabi-v7a
APP_OPTIM := debug
答案 0 :(得分:9)
我遇到了同样的问题。我很确定这是core/build-local.mk
脚本中的错误。至少错误信息没有意义。
我修好了这个:
export NDK_MODULE_PATH=path_to_look_for_modules
其中path_to_look_for_modules
应该是Android.mk中声明的模块的父目录。也就是说,如果您/myproject/mylibs/otherlib
导出路径/myproject/mylibs
如果你有多条路径,像往常一样:
export NDK_MODULE_PATH=path1:path2:path3
答案 1 :(得分:1)
如果您正在构建Android应用并拥有一些ndk代码,则可以通过添加/修改Application.mk(通常在jni目录中)使用以下行来解决此问题:
# The ARMv7 is significanly faster due to the use of the hardware FPU
APP_ABI := armeabi armeabi-v7a x86 mips
#APP_ABI := armeabi
APP_PLATFORM := android-10
我的意思是APP_ABI线。这是指定目标处理器来编译ndk代码。我假设您在错误消息中假设您正在使用与您为其构建应用程序的cpu类型不同的设备上进行测试。
的有用信息 可能出现的问题答案 2 :(得分:0)
导出NDK_PROJECT_PATH = [路径]
其中[Path]是“jni”目录的父级,后者又包含您的NDK代码。
如果您的NDK代码(jni目录)与您的Android Java代码分开,则“可能”会遇到此问题。
答案 3 :(得分:0)
此问题的常见解决方案是在Application.mk中包含此行。
APP_ABI := armeabi-v7a
根据Device supports
行,使用适当的API替换armeabi-v7a。这将确保您的应用程序是为正确的平台构建的,ndk-gdb
可以找到它。