Articles of makefile

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似乎可行。 什么不见​​了?

构建Android时,export_includes和import_includes文件是什么

使用Google无法find任何有用的信息。 我发现所有人都在询问如何解决编译错误,例如 make: *** No rule to make target `/home/joe/[ubuntuTouch]/out/target/product/jewel/obj/SHARED_LIBRARIES/libril_intermediates/export_includes’, needed by `/home/joe/[ubuntuTouch]/out/target/product/jewel/obj/EXECUTABLES/rild_intermediates/import_includes’. Stop.

如何链接ndk应用程序中的任何库

从本教程 。 看到我有一个名为stackoverflow.a预构建静态库,它有stackoverflow.h 现在我想使用该静态库的function ndk_demo.c //该教程有这个文件 对于那个里面的ndk_demo.c我添加了 #include ‘stackoverflow.h’ 编辑 inside `android-ndk-r7c` | apps | ndk_demo | —————– | | project Application.mk | ——————– | | all other | folder jni | ——————————————————————- | | | | | ndk_demo.c stackoverflow.h lib com_marakana Android.mk | _NativeLib.h | ——————– | | Android.mk libstackoverflow.a 现在Application.mk APP_PROJECT_PATH := $(call […]

以递归方式读取子目录中的Android.mk文件

我想问一下Android.mk文件中应该写什么来调用当前目录的子目录中的mk文件。 例: /packages/Android.mk /package/groupA/Android.mk /packages/groupA/AppA/Android.mk /packages/groupA/AppB/Android.mk 我知道通过使用include $(call all-subdir-makefiles) ,将读取直接子目录中的Android.mk文件(例如:/package/groupA/Android.mk)。 但是,将不会读取/packages/groupA/AppA/Android.mk和/packages/groupA/AppB/Android.mk。 我想知道是否有其他宏对所有子目录进行Android.mk的递归读取。 谢谢, artsylar

如何将应用程序安装到数据/应用程序文件夹而不是AOSP构建中的system / app文件夹?

我把我的应用程序文件夹放入 packages/apps // inside AOSP source code 现在我的应用程序在同一文件夹中跟随Android.mk : LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-java-files-under, src) LOCAL_PACKAGE_NAME := package_name LOCAL_CERTIFICATE := platform include $(BUILD_PACKAGE) # Use the folloing include to make our test app include $(call all-makefiles-under,$(LOCAL_PATH)) 现在,当我构建我的AOSP项目时,它还会编译我的应用程序并将APK文件放入其中: 出/目标/产品/ $ MY_PLATFORM /系统/应用程序 但是我想把它放进去: 出/目标/产品/ $ MY_PLATFORM / data / […]

如何设置GNUMAKEvariables使ndk-build工作

我试图让ndk-build在Windows上的Cygwin中工作。 根据NDK文档(特别是INSTALL.htm), “NDK要求GNU Make 3.81或更高版本可用于您的开发。” 我在我的电脑上安装了Gnu Make。 到现在为止还挺好。 在Cygwin bash中,我转到android NDK根目录。 现在当我输入以下命令时(现在没有参数,只是看看命令是否有效): $。/ NDK建造 错误:找不到’make’程序。 请安装Cygwin make package或定义GNUMAKEvariables以指向它。 所以我尝试设置GNUMAKEvariables,但没有运气: $ export GNUMAKE =’/ cygdrive / c \ Program Files \ GnuWin32 \ bin’ 错误:您的GNUMAKEvariables被定义为无效名称:/ cygdrive / c \ Program Files \ GnuWin32 \ bin请将其修复为指向有效的make可执行文件(例如usr / bin / make) 我甚至尝试将其设置为usr / bin / make,因为它建议,但同样的无效名称错误。 任何人都知道如何解决这个问题? 我正在使用Windows […]

android ANTLR无法正常工作

我想在Android上使用ANTLR,我发现了这个: ANTLR和Android 下载AntlrJavaRuntime后我不知道该怎么做,我应该这样做: 1. lunch the appropriate target 2. make AntlrJavaRuntime 3. verify that AntlrJavaRuntime.xml was placed in /system/etc/permissions and 4. AntlrJavaRuntime.jar was placed in /system/framework 5. after this, you can run a normal make 首先,第1步甚至意味着什么? 其次,当我尝试做:make AntlrJavaRuntime我得到以下错误: ~/AntlrJavaRuntime$ make AntlrJavaRuntime make: Nothing to be done for `AntlrJavaRuntime’. 很难find有关这方面的文档,因此非常感谢任何帮助(或者是如何让ANTLR为Android项目做好准备的明确示例)。