Articles of makefile

Android NDK中的错误使程序无法find

我正在尝试使用此链接设置Android NDK。 我按照命令make -v开始设置进程,我得到了 $ make -v bash: make: command not found 然后我输入了上面链接中给出的以下命令 cd /cygwin/C/..path for my project /cygwin/C/..path of ndk installed path 此时我正在接受 ERROR: Cannot find ‘make’ program. Please install Cygwin make package or define the GNUMAKE variable to point to it. 注意,我检查了所有这种可能性错误链接: 链接-1 LINK-2 删除文件夹之间的空格。 检查一下:

Android.mk与Application.mk

关于Android.mk和Application.mk的使用,我有点模糊 我已经尝试在NDK附带的文档中阅读APPLICATION-MK.HTML和ANDROID-MK.HTML,但仍然对两个 makefile的目的感到困惑。 我真的很感激能帮助我理解这一点的人。

怎么办android mm干净?

我正在使用mm命令在Android源代码中构建自定义模块。 当我运行mm clean ,似乎整个项目都被清理干净了。 如何将清洁限制在当前模块中?

启用exceptionC ++

我正在尝试为Android制作APP原生代码。 Native代码在cplusplus中。 每当我尝试制作时,都会出现以下错误。 H236Plus.cpp:135:错误:禁用exception处理,使用-fexceptions启用 如何使用-fexceptions启用exception处理,以及在哪里使用它?

Android NDK:包括boost c ++库

我正在尝试使用NDK在我的Android应用程序中使用boost库。 我在这里和这里find了几个成功案例,但我不能对我说同样的话。 我特意尝试在此链接中使用库,以及boost线程库。 在下面的代码中,我只是尝试包含线程库,而不是数学库。 我用来构建boost库的过程与我附加的第一个链接几乎相同。 到目前为止,似乎我已经成功构建了boost库,但是当我运行ndk-build ,我收到以下错误: Prebuilt : libboost_thread.a <= /sources/ cp: omitting directory `path/to/ndk/sources/boost’ make: *** [obj/local/armeabi/libboost_thread.a] Error 1 显然cp: omitting directory…并不是一个错误。 但我唯一能得到的就是下一行,这并不是什么意思。 Error 1 这是我的Android.mk文件: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_STATIC_LIBRARIES := boost_thread LOCAL_LDLIBS := lboost_system-gcc-md lboost_thread-gcc-md -lgnustl_static LOCAL_LDLIBS += lboost_system-gcc-md lboost_thread-gcc-md \ -L$(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/libs/armeabi \ -lgnustl_static LOCAL_SRC_FILES := #cpp_sources LOCAL_MODULE := […]

Android NDK:如何将Android.mk包含到另一个Android.mk(分层项目结构)中?

看起来有可能,但我的脚本会产生奇怪的结果: LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) include $(LOCAL_PATH)/libos/Android.mk include $(LOCAL_PATH)/libbase/Android.mk include $(LOCAL_PATH)/utils/Android.mk LOCAL_MODULE := native include $(BUILD_SHARED_LIBRARY) 只有第一个包被解析正常,其他Android.mk文件正在奇数路径上被查询。 建议? 更新:我打破了我的建筑环境……在办公室没问题,但在家里LOCAL_PATH:= $(调用my-dir)将LOCAL_PATH定义为NDK目录而不是项目目录。 这是我的建筑批次: set BASHPATH=K:\cygwin\bin\bash set PROJECTDIR=/cygdrive/h/Alex/Alex/Work/Android/remote-android set NDKDIR=/cygdrive/h/Alex/Programming_Docs/Android/android-ndk-r6/ndk-build set APP_BUILD_SCRIPT=/cygdrive/h/Alex/Alex/Work/Android/project/jni/Android.mk set DEV_ROOT=h:/Alex/Alex/Work/Android/project %BASHPATH% –login -c “cd %PROJECTDIR% && %NDKDIR%” 更新:我完全不明白这件事是如何构成路径的。 我收到路径错误,如“/cygdrive/d/project/jni//cygdrive/d/Soft/project/jni/libos/src/libos.cpp”。这是在我决定指定根目录中的所有文件之后Android.mk而不是包含子模块。 更新2:没有运气,这也不起作用: LOCAL_PATH:= $(call my-dir) # Include makefiles here. include $(LOCAL_PATH)/libos/Android.mk include $(LOCAL_PATH)/libbase/Android.mk include $(LOCAL_PATH)/utils/Android.mk […]

如何为Android编译GCC?

有没有办法为Android编译GCC? 基本上,在Android终端模拟器中可以访问GCC编译器,并且能够编译将在C或C ++源文件的android上运行的二进制文件。 我的意图是使用它并最终安装make。

Android中的eng和用户调试构建之间的区别

我想知道两个build_flavor之间的区别。 eng&user-debug eng和用户构建风味之间的区别很明显。 但是eng和用户调试让我感到困惑。 在用户调试中不存在的eng中提供的附加调试工具是什么? 例如。 If I take only the Kernel being built: Will the Debugging levels differ for the eng and user-debug builds? 我正面临一个问题,用户调试版本在Android手机上启动。 但是build build不是,build_flavor是两个构建之间的唯一区别。 任何帮助/指针表示赞赏。 谢谢!

Android SDK突然缺少ant /文件夹。 谷歌删除了吗?

我已经尝试编译libreoffice核心项目(选择Android模块)(使用make ,还没有涉及Gradle),我收到此错误: /home/aleksandar/libreoffice/workdir/UnpackedTarball/owncloud_android_lib/build.xml:90: Cannot find /home/aleksandar/Android/Sdk/tools/ant/build.xml imported from /home/aleksandar/libreoffice/workdir/UnpackedTarball/owncloud_android_lib/build.xml 在查看我的SDK时,我意识到/Sdk/tools/ant文件夹甚至不存在。 这是应该的方式吗? 我不确定为什么它现在会导致错误,尤其是我已经多次构建项目而没有任何问题。 我意识到的唯一改变的是我已经更新了所有工具(SDK和NDK)。 发布此消息(2017年3月)期间是否有任何向后兼容性突破的变化? 它可能是源代码中引入错误的变化,但我确信它已经被注意到了,这种情况持续了几天……有没有人遇到过类似的问题?

从源代码构建Android:不支持的reloc 43

当我编译Android 5.1.1时,我收到了许多这样的错误: … … … libnativehelper/JniInvocation.cpp:165: error: unsupported reloc 43 libnativehelper/JniInvocation.cpp:165: error: unsupported reloc 43 libnativehelper/JniInvocation.cpp:165: error: unsupported reloc 43 libnativehelper/JniInvocation.cpp:165: error: unsupported reloc 43 并且make进程最终失败: clang: error: linker command failed with exit code 1 (use -v to see invocation) build/core/host_shared_library_internal.mk:44: recipe for target ‘out/host/linux-x86/obj32/lib/libnativehelper.so’ failed make: *** [out/host/linux-x86/obj32/lib/libnativehelper.so] Error 1 我尝试过使用和不使用clang以及使用不同版本的clang来构建源代码。 但是在新的分支上,clang是一个要求,如果没有它,make就无法启动。 可能有什么问题?