Articles of makefile

Android构建失败

我按照这里的说明。 在$ repo sync我尝试使用$ make构建它,但是出现了这个错误: host SharedLib: libneo_cgi (out/host/linux-x86/obj/lib/libneo_cgi.so) /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../libz.so when searching for -lz /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../libz.a when searching for -lz /usr/bin/ld: skipping incompatible /usr/lib/libz.so when searching for -lz /usr/bin/ld: skipping incompatible /usr/lib/libz.a when searching for -lz /usr/bin/ld: cannot find -lz collect2: ld returned 1 exit status make: *** [out/host/linux-x86/obj/lib/libneo_cgi.so] Error […]

Android.mk条件

有没有办法在Android.mk中使用条件expression式? 我需要它像这样做: IF arch = AREABI_V7 *use path for my arm_v7 static libs* ELSE *use path for arm static libs*

简化构建多个可执行文件的Android.mk文件

我正在为Android构建一些硬件测试。 我有一个Android.mk文件,它逐个构建这些可执行文件,每个文件使用一块makefile代码,如下所示: ##### shared ##### LOCAL_PATH := $(my-dir) ##### test_number_one ##### test_name := test_number_one include $(CLEAR_VARS) LOCAL_CFLAGS := $(commonCflags) LOCAL_C_INCLUDES := $(LOCAL_PATH)/../ LOCAL_MODULE_TAGS := optional eng LOCAL_SHARED_LIBRARIES := some_library some_other_library LOCAL_MODULE := $(test_name) LOCAL_SRC_FILES := tests/$(test_name)/$(test_name).c include $(BUILD_EXECUTABLE) ##### test_number_two ##### test_name := test_number_two include $(CLEAR_VARS) LOCAL_CFLAGS := $(commonCflags) LOCAL_C_INCLUDES := $(LOCAL_PATH)/../ LOCAL_MODULE_TAGS := optional […]

如何在Android.mk中获取环境variables值?

有可能在Android.mk中获取环境variables值吗? 例如 #export MYBASEDIR=/home/whoami/base 并且,在Android.mk中如何获得MYBASEDIR值? 跟我一起提出非常基本的问题。

构建android项目会产生make error 2

我最近购买了一本书,以帮助我开发包含一些代码示例的Android C ++。 但是,当我来构建一些示例代码时,我收到以下错误: C:\ndk\android-ndk-r9\ndk-build.cmd all “Compile++ : Chapter10 <= Chapter10.cpp process_begin: CreateProcess(NULL, C:/ndk/android-ndk-r9/toolchains/arm-linux-androideabi-4.7/prebuilt/windows/bin/arm-linux-androideabi-g++ -MMD -MP -MF ./obj/local/armeabi/objs/Chapter10/Chapter10.od -fno-exceptions -fno-rtti -Ijni -IC:/ndk/android-ndk-r9/sources/android/native_app_glue -IC:/ndk/android-ndk-r9/sources/cxx-stl/stlport/stlport -IC:/ndk/android-ndk-r9/sources/cxx-stl//gabi++/include -Ijni -DANDROID -Wa,–noexecstack -Wformat -Werror=format-security -frtti -c jni/Chapter10.cpp -o ./obj/local/armeabi/objs/Chapter10/Chapter10.o, …) failed. make (e=2): The system cannot find the file specified. make: *** [obj/local/armeabi/objs/Chapter10/Chapter10.o] Error 2 make文件如下所示: LOCAL_PATH:= $(call my-dir) include […]

构建AOSP,vendor_module_check.mk失败

我正在尝试在我的AOSP版本中添加Google移动服务应用程序,用于Nexus 10(manta)。 我在根目录中创建了一个vendor文件夹,并通过添加以下行修改了full_manta.mk文件: # Include GMS apps $(call inherit-product, $(SRC_TARGET_DIR)/product/generic.mk) $(call inherit-product, vendor/google/products/gms.mk) 接下来,我做. build/envsetup.sh . build/envsetup.sh然后lunch (我选择13进行full_manta-user-debug构建)。 然后我输入make -j32来构建并获得以下错误: build/core/tasks/vendor_module_check.mk:60: *** Error: vendor module “Books” in vendor/google/apps with unknown owner “” in product “full_manta”. Stop. 我不确定是什么问题。 我也是一个make文件菜鸟,所以我无法真正理解vendor_module_check.mk文件中的内容,除了在这里生成错误的事实: $(foreach m, $(_vendor_check_modules), \ $(if $(filter vendor/%, $(ALL_MODULES.$(m).PATH)),\ $(if $(filter $(_vendor_owner_whitelist), $(ALL_MODULES.$(m).OWNER)),,\ $(error Error: vendor module “$(m)” […]

Bamboo Agent:找不到Build Tools修订版23.0.3

我使用Linux代理池来构建我的应用程序。 偶尔会有一个代理导致构建失败并出现错误: FAILURE: Build failed with an exception. What went wrong: Execution failed for task ‘:ComponentThatReqBuildToolsRev23.0.3:preBuild’. > failed to find Build Tools revision 23.0.3 因为我的构建代理是远程的(android是预安装的/ opt / android-sdk-linux / tools / android),所以我无法预安装平台工具,构建工具等,所以我的项目中包含了一个makefile。 签出代码后,它调用makefile中的方法: #!/bin/bash git submodule init git submodule update make updateSDK # EOF makefile中的方法是: PACKAGES = “tools,platform-tools,build-tools-21.1.2,android-22,build-tools-23.0.3,android-21,extra-android-support,extra-android-m2repository,extra-google-m2repository,extra-google,google_play_services” updateSDK: (sleep 5 && while [ 1 […]

构建Android SDK:只创建一个Android目标

编辑:我知道我可以轻松下载SDK,但我特别想自己构建一切。 我正在尝试更多地了解构建过程。 我使用repo下载AOSP源代码。 多个地方指导我构建SDK,如下所示: $ cd $AOSP_ROOT $ . build/envsetup.sh $ lunch sdk-eng $ make sdk 这很好用,我得到一个带SDK的zip文件和模拟器工作。 但是,生成的唯一Android目标是最新的目标,例如 $ cd $SDK_ROOT/platforms $ ls android-4.0.4.0.4.0.4 就是我所看到的一切。 如何获得其他Android目标? 我是否必须使用repo切换我所在的Android分支,构建整个 SDK并复制出适当的目标文件? 是否有一些更简单的方法,就像一个不同的制作目标,将实现这一目标? 我可以请求构建SDK并且所有目标都可用吗? 我应该只下载一个非本地编译的SDK并将目标复制到我的SDK_ROOT /平台吗?

android ndk没有规则来制作目标

我意识到之前已经问过这个问题,但没有答案能够解决我的问题。 我正在尝试构建一个随NDK提供的示例Android应用程序,其中包含以下Android.mk文件: LOCAL_PATH := $(call my-dir) MY_PATH := $(LOCAL_PATH) include $(call all-subdir-makefiles) include $(CLEAR_VARS) LOCAL_PATH := $(MY_PATH) LOCAL_MODULE := native-activity LOCAL_SRC_FILES := main.c LOCAL_LDLIBS := -llog -landroid -lEGL -lGLESv1_CM LOCAL_STATIC_LIBRARIES := android_native_app_glue include $(BUILD_SHARED_LIBRARY) $(call import-module,android/native_app_glue) 当我构建我的项目时,我得到以下错误: **** Build of configuration Default for project NativeActivity **** /Users/Jono/Documents/Development/Android Development/android-ndk-r9c/ndk-build all usage: dirname path make: /Users/Jono/build/core/build-local.mk: No […]

Android.mk应该在哪里?

在Android NDK的文档中,存在以下语句: Android.mk文件位于项目的jni /目录的子目录中[…] http://developer.android.com/ndk/guides/android_mk.html 我可以解释一下, Android.mk文件应放在[project_path]/jni/[module_name]/Android.mk ,每个模块都有自己特定的Android.mk文件,因为这是它与应用程序范围Application.mk区别Application.mk文件,但是当我执行ndk-build我收到以下错误消息: Android NDK:./jni下没有Android.mk Android NDK:如果这是故意的,请定义APP_BUILD_SCRIPT指向 Android NDK:到有效的NDK构建脚本。 我从中收集到,我应该在Application.mk文件旁边创建一个Android.mk文件,或者在Application.mk定义APP_BUILD_SCRIPT以指向单个Android.mk文件。 这与文档相矛盾,让我想知道为什么当Android.mk无论如何都包含所有模块的定义时,需要多个makefile – 这也可以放在Application.mk 。 阅读几个NDK示例项目我发现,确实, Android.mk文件与Application.mk位于同一目录中,并且在它们上执行ndk-build似乎可行。 什么不见​​了?