Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Android源代码(AOSP)构建一个工具_Android_Linux_Makefile_Android Source - Fatal编程技术网

从Android源代码(AOSP)构建一个工具

从Android源代码(AOSP)构建一个工具,android,linux,makefile,android-source,Android,Linux,Makefile,Android Source,目前我正在使用亚马逊AWS上的图像构建Android。 关键是,我只对为主机(linux)构建的路径为:aosp/out/host/linux-x86/bin 其中源代码位于aosp/external/srec/tools/grxmlcomile 我不太熟悉Linux和make文件,因此我很难做到这一点 我想复制源代码(如果需要整个树),并在另一台linux机器上构建这个工具 我找不到生成此部件所需的make文件 更新: 看起来make out/host/linux-x86/bin/grxmlc

目前我正在使用亚马逊AWS上的图像构建Android。
关键是,我只对为主机(linux)构建的路径为:
aosp/out/host/linux-x86/bin

其中源代码位于
aosp/external/srec/tools/grxmlcomile

我不太熟悉Linux和make文件,因此我很难做到这一点

我想复制源代码(如果需要整个树),并在另一台linux机器上构建这个工具

我找不到生成此部件所需的make文件

更新:
看起来
make out/host/linux-x86/bin/grxmlcomile
可以完成这项工作。我仍然希望能够只将源代码树中需要的部分移植到构建机器上,并将其移植到Android构建源代码的顶部

source build/envsetup.sh
cd external/srec/tools/grxmlcompile
mma
…或生成文件的任何目录或子目录。从AOSP build/envsetup.sh

  • m:从树顶开始
  • mm:构建当前目录中的所有模块,但不构建它们的依赖项
  • mmm:在提供的目录中构建所有模块,但不构建它们的依赖项。 要限制正在生成的模块,请使用语法:mmm dir/:target1、target2
  • mma:构建当前目录中的所有模块及其依赖项
  • mmma:在提供的目录中构建所有模块及其依赖项

在android-5.1.1_r4标记之后,外部/srec从平台/清单中删除。因此,稍后,如果您正在使用清单,如修订版5、6或更高版本,则可能需要执行
git克隆https://android.googlesource/platform/external/srec external/srec
包含该目录。

我下面的答案是否回答了您的问题,以便您只能构建该模块?即使在运行“build/envsetup.sh”mm之后,mma等命令不被识别。我没有经常使用这些命令,尽管作为一名Android ROM开发人员,我了解它们,因为我通常只运行完整的ROM构建。然而,我刚刚用正确的方法修复了我的答案,该方法仅用于构建grxmlcompile模块,并且具有它的依赖性。我对耽搁表示歉意。我留下了AOSP的
build/envsetup.sh
中列出的其他命令,以防您或任何人只想构建没有依赖项(通常用于测试代码构建)的特定模块或其他模块。有些需要投入,有些则不需要。我希望这有帮助。我首先在我的构建源代码中测试了它。我花了七分钟!!!:)安装:/home/sudosurootdev/source/android/VanirAOSP/out/host/linux-x86/bin/grxmlcomile make:Leaving directory`/home/sudosurootdev/source/android/VanirAOSP'###########如果您在这方面仍有问题,则必须缺少本地依赖项或包。如果你想要一个新的版本,我把它上传到这里:顺便问一下,你用它做什么,翻译还是什么?另外,为什么不分叉它,添加依赖项,并通过编写常规makefile来创建一个独立的项目来构建它,这样您就不会浪费这么多存储空间???感谢详细的说明。关于你我建议用我自己的makefile提取(分叉)树的部分。我想这样做。但是我没有足够的理解如何做到这一点,或者如何在当前树中找到所有依赖项。或者至少我不能在合理的时间内完成它,而不花时间学习make是如何工作的