NDK <Utils/Log.h> 没有这样的文件或目录
NDK <Utils/Log.h> no such file or directory
好的,所以我想编译我在Github上学会的FM Radio应用程序,在这是我的第一次尝试之前,我从未尝试过制作低级别语言应用程序,所以我认为首先编译一个已经在工作的项目并对其进行分析,安卓工作室要求我下载ND,然后我设置了它。我出现了这个错误:"错误:Gradle:任务执行失败":app:compileDebugNdk。
com.android.ide.common.internal.LoggedErrorException:无法运行命令:/应用程序/adt-bundle-mac-x86_64-20140702/ndk/ndk build ndk_PROJECT_PATH=null APP_build_SCRIPT=/********************/****************************/AndroidStudioProjects/android_packages_apps_FMRadio-cm-12.12/APP/build/inmediates/ndk/debug/android.mk APP_PLATFORM=android-21NDK_OUT=/********************/****************************/AndroidStudioProjects/android_packages_apps_FMRadio-cm-12.1/app/build/inmediates/NDK/debug/obj NDK_LIBS_OUT=/****/************/AAndroidStudioprojects/android-packages_apps_FMRadio-cm-12.1/app/build/inediates/NDK/dbug/lib app_ABI=全部错误代码:2.输出:在包含于/********************/****************************/android_packages_apps_FMRadio-cm-12.1/app/src/main/jni/fmr/common.cpp:17:0的文件中:/********************/********************/AndroidStudioProjects/android_packages_apps_FMRadio-cm-12.1/app/src/main/jni/fmr/fmr.h:21:23:致命错误:utils/Log.h:没有这样的文件或目录#包括^编译终止。make:***[/********************/********************/AndroidStudioProjects/android_packages_apps_FMRadio-cm-12.1/app/build/mediamediates/ndk/debug/obj/local/arm64-v8a/objs/app/****************************/********************/androidStudio Projects/andrody_packages_apps_FMRradio-cm-12.1/app/src/main/jni/fmr/common.o]错误1`
看起来该项目不是作为一个独立的应用程序构建的,而是作为完整固件构建的一部分(Cyanogen Mod的一部分(。该错误基本上表明找不到文件utils/log.h
。该文件不是该项目的一部分,也不是Android NDK的一部分。
为了避免设置一个你很可能不会使用的完整环境,我建议选择另一个项目开始。
如果你真的想坚持这个项目,我建议你从jni/fmr/fmr.h
文件中的一些更改开始
1:将<utils/log.h>
更改为<android/log.h>
。
当您重新编译时,它可能会抱怨它找不到的所有ALOG*定义。
2:更换此部件:
#undef FM_LIB_USE_XLOG
#ifdef FM_LIB_USE_XLOG
#include <cutils/xlog.h>
#undef LOGV
#define LOGV(...) XLOGV(__VA_ARGS__)
#undef LOGD
#define LOGD(...) XLOGD(__VA_ARGS__)
#undef LOGI
#define LOGI(...) XLOGI(__VA_ARGS__)
#undef LOGW
#define LOGW(...) XLOGW(__VA_ARGS__)
#undef LOGE
#define LOGE(...) XLOGE(__VA_ARGS__)
#else
#undef LOGV
#define LOGV(...) ALOGV(__VA_ARGS__)
#undef LOGD
#define LOGD(...) ALOGD(__VA_ARGS__)
#undef LOGI
#define LOGI(...) ALOGI(__VA_ARGS__)
#undef LOGW
#define LOGW(...) ALOGW(__VA_ARGS__)
#undef LOGE
#define LOGE(...) ALOGE(__VA_ARGS__)
#endif
这个部分:
#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE,LOG_TAG,__VA_ARGS__)
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__)
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
#define LOGW(...) __android_log_print(ANDROID_LOG_WARN,LOG_TAG,__VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__)
这应该会让你开始。
编辑:
我想我找到了参考的utils/log.h
(但可能不是来自正确的项目(:https://github.com/CyanogenMod/android_frameworks_ex/blob/cm-12.0/framesequence/jni/utils/log.h
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 文本文件中的单词链表
- CMake-按正确顺序将项目与C运行时对象文件链接
- 使用新行和不使用新行读取文件
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 挂起和取消挂起一个文件DLL
- 如何确定我已使用非编码文件到达 EOF?
- 命名空间中具有.h和.cpp文件的类
- 如何使用ndk-build.cmd构建Android.so文件
- 从包含m行的文件中提取n行,必要时(惰性地)重复该文件
- 读取文件并输入到矢量中
- 在C++中查找文件
- c++库的公共头文件中应该包含什么
- 用c++从输入文件中读取另一行
- Cppcheck生成xml转储文件
- 读取文件的最后一行并输入到链接列表时出错
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- 如何将内容数组写入文本文件?
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到