在Ubuntu 12.10 X64上构建AOSP(4.2.2)失败

时间:2013-05-05 15:12:48

标签: android android-source ubuntu-12.10

我试图在Ubuntu 12.10 X64上构建AOSP(4.2.2)并且出现以下错误:

  

armin @ ubuntu:〜/ source $ make -j1   ============================================ PLATFORM_VERSION_CODENAME = REL PLATFORM_VERSION = 4.2 0.2   TARGET_PRODUCT =完整TARGET_BUILD_VARIANT = eng TARGET_BUILD_TYPE =发布   TARGET_BUILD_APPS = TARGET_ARCH = arm TARGET_ARCH_VARIANT = armv7-a   HOST_ARCH = x86 HOST_OS = linux   HOST_OS_EXTRA = Linux的3.5.0-17泛型-x86_64的与 - Ubuntu的12.10,量子   HOST_BUILD_TYPE =发布BUILD_ID = JDQ39 OUT_DIR = out   ============================================检查构建工具版本.. .external / bluetooth / bluedroid / Android.mk:8:没有   BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR,仅使用泛型   配置查找:   ../../vendor/unbundled_google/libs/gcm/gcm-client/src': No such file or directory find: ../../ vendor / unbundled_google / libs / gcm / gcm-server / src':没有这样的文件   或目录查找:   ../../vendor/unbundled_google/libs/gcm/gcm-client/src': No such file or directory find: ../../ vendor / unbundled_google / libs / gcm / gcm-server / src':没有这样的文件   或目录查找:src': No such file or directory vendor/nvidia/grouper/keymaster/Android.mk:16: Extraneous text after ifeq'指令PRODUCT_COPY_FILES   框架/碱/数据/声音/效应/ OGG / Effect_Tick.ogg:系统/媒体/音频/ UI / Effect_Tick.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/效应/ OGG / KeypressStandard.ogg:系统/媒体/音频/ UI / KeypressStandard.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/效应/ OGG / KeypressSpacebar.ogg:系统/媒体/音频/ UI / KeypressSpacebar.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/效应/ OGG / KeypressDelete.ogg:系统/媒体/音频/ UI / KeypressDelete.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/效应/ OGG / KeypressReturn.ogg:系统/媒体/音频/ UI / KeypressReturn.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/效应/ OGG / VideoRecord.ogg:系统/媒体/音频/ UI / VideoRecord.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/效应/ OGG / camera_click.ogg:系统/媒体/音频/ UI / camera_click.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/效应/ OGG / LowBattery.ogg:系统/媒体/音频/ UI / LowBattery.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/效应/ OGG / Dock.ogg:系统/媒体/音频/ UI / Dock.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/效应/ OGG / Undock.ogg:系统/媒体/音频/ UI / Undock.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/效应/ OGG / Lock.ogg:系统/媒体/音频/ UI / Lock.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/效应/ OGG / Unlock.ogg:系统/媒体/音频/ UI / Unlock.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/铃声/ OGG / Sceptrum.ogg:系统/媒体/音频/铃声/ Sceptrum.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/效应/ OGG / KeypressStandard_120.ogg:系统/媒体/音频/ UI / KeypressStandard.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/效应/ OGG / KeypressSpacebar_120.ogg:系统/媒体/音频/ UI / KeypressSpacebar.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/效应/ OGG / KeypressDelete_120.ogg:系统/媒体/音频/ UI / KeypressDelete.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/效应/ OGG / KeypressReturn_120.ogg:系统/媒体/音频/ UI / KeypressReturn.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/通知/ OGG / Capella.ogg:系统/媒体/音频/通知/ Capella.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/通知/ OGG / CetiAlpha.ogg:系统/媒体/音频/通知/ CetiAlpha.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/通知/ OGG / Polaris.ogg:系统/媒体/音频/通知/ Polaris.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/通知/ OGG / Pollux.ogg:系统/媒体/音频/通知/ Pollux.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/通知/ OGG / Procyon.ogg:系统/媒体/音频/通知/ Procyon.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/铃声/ OGG / Aquila.ogg:系统/媒体/音频/铃声/ Aquila.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/铃声/ OGG / ArgoNavis.ogg:系统/媒体/音频/铃声/ ArgoNavis.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/铃声/ OGG / Carina.ogg:系统/媒体/音频/铃声/ Carina.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/铃声/ OGG / Centaurus.ogg:系统/媒体/音频/铃声/ Centaurus.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/铃声/ OGG / Cygnus.ogg:系统/媒体/音频/铃声/ Cygnus.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/铃声/ OGG / Draco.ogg:系统/媒体/音频/铃声/ Draco.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/铃声/ OGG / Machina.ogg:系统/媒体/音频/铃声/ Machina.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/铃声/ OGG / Orion.ogg:系统/媒体/音频/铃声/ Orion.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/铃声/ OGG / Pegasus.ogg:系统/媒体/音频/铃声/ Pegasus.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/铃声/ OGG / Pyxis.ogg:系统/媒体/音频/铃声/ Pyxis.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/铃声/ OGG / Rigel.ogg:系统/媒体/音频/铃声/ Rigel.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/铃声/ OGG / Scarabaeus.ogg:系统/媒体/音频/铃声/ Scarabaeus.ogg   忽略。 PRODUCT_COPY_FILES   框架/碱/数据/声音/铃声/ OGG / Solarium.ogg:系统/媒体/音频/铃声/ Solarium.ogg   忽略。主机Java:jsr305lib   (下/主机/普通/ OBJ / JAVA_LIBRARIES / jsr305lib_intermediates /班)   主机Java:guavalib   (下/主机/普通/ OBJ / JAVA_LIBRARIES / guavalib_intermediates /班)   注意:某些输入文件使用或覆盖已弃用的API。注意:   使用-Xlint重新编译:弃用以获取详细信息。导出包含文件:   build / libs / host / Android.mk -   出/主机/ Linux的-86 / OBJ / STATIC_LIBRARIES / libhost_intermediates / export_includes   导入包含文件:   出/主机/ Linux的-86 / OBJ /可执行文件/ acp_intermediates / import_includes   标题:out / host / linux-x86 / obj / include / libexpat / expat.h标题:   out / host / linux-x86 / obj / include / libexpat / expat_external.h标题:   out / target / product / generic / obj / include / libexpat / expat.h标题:   出/目标/产品/通用/ OBJ /包括/的libexpat / expat_external.h   标题:out / host / linux-x86 / obj / include / libpng / png.h标题:   out / host / linux-x86 / obj / include / libpng / pngconf.h标题:   out / host / linux-x86 / obj / include / libpng / pngusr.h标题:   out / target / product / generic / obj / include / libpng / png.h标题:   out / target / product / generic / obj / include / libpng / pngconf.h标题:   out / target / product / generic / obj / include / libpng / pngusr.h标题:   out / host / linux-x86 / obj / include / selinux / selinux.h标题:   out / host / linux-x86 / obj / include / selinux / label.h标题:   out / host / linux-x86 / obj / include / selinux / context.h标题:   out / host / linux-x86 / obj / include / selinux / avc.h标题:   out / host / linux-x86 / obj / include / selinux / android.h标题:   out / target / product / generic / obj / include / selinux / selinux.h标题:   out / target / product / generic / obj / include / selinux / label.h标题:   out / target / product / generic / obj / include / selinux / context.h标题:   out / target / product / generic / obj / include / selinux / avc.h标题:   out / target / product / generic / obj / include / selinux / android.h标题:   out / target / product / generic / obj / include / libsonivox / eas.h标题:   out / target / product / generic / obj / include / libsonivox / eas_types.h标题:   out / target / product / generic / obj / include / libsonivox / eas_reverb.h标题:   out / target / product / generic / obj / include / libsonivox / jet.h标题:   出/目标/产品/通用/ OBJ /包括/ libsonivox / ARM_synth_constants_gnu.inc   标题:   out / target / product / generic / obj / include / libwpa_client / wpa_ctrl.h host   C:acp< = build / tools / acp / acp.c导入包含文件:   出/主机/ Linux的-86 / OBJ / STATIC_LIBRARIES / libhost_intermediates / import_includes   host C ++:libhost< = build / libs / host / pseudolocalize.cpp / bin / bash:   prebuilts / tools / gcc-sdk / g ++:无法执行二进制文件make: *   [输出/主机/ Linux的86 / OBJ / STATIC_LIBRARIES / libhost_intermediates / pseudolocalize.o]   错误126

有人可以帮我解决这个问题吗?

4 个答案:

答案 0 :(得分:3)

你需要专注于说:

/ bin / bash:prebuilts / tools / gcc-sdk / g ++:无法执行二进制文件

这可能是因为你是64位,而二进制是32位。  也许你还有一些其他东西也没有了,所以我最好指点一下你在ubuntu / x64上编译android(jb)的教程。查看先决条件并安装所需的一切。

Tutorial at xda-developers

答案 1 :(得分:1)

当我尝试在Ubuntu 12.04上构建ICS时,我遇到了同样的问题。后来我在一些论坛上读到,目前它不适用于12.04而且Ubuntu试图克服这个问题。由于12.04是LTS(长期支持),经过一段时间Ubuntu可能会发布更新,建立ICS将工作。我猜这是12.10的问题。所以我认为你应该使用11.04。虽然它过时,没有更新将是发布后,它适用于AOSP。我正在使用相同的,它现在是唯一可行的解​​决方案。

答案 2 :(得分:1)

这对我有用:

  1. 从Google获取Google Cloud Messaging(GCM)代码。
  2. 将其复制到供应商目录。
  3. 建立和享受。
  4. 以下是详细信息:

    按照https://code.google.com/p/gcm/source/checkout

    中的解释获取GCM来源
    % croot
    % cd vendor
    % mkdir -p unbundled_google/libs;cd !$
    % cp -pr <GCM  dir of the google pkg. where you see /gcm > .
    % croot
    % <build whatever your were building>
    

    我不确定是否需要使用gcm_client_deprecated dir,因为它看起来更实用且代码更多,但我可以使用当前的gcm-client目录进行sdk。

答案 3 :(得分:1)

您可以通过编辑框架/ base / Android.mk中的gcm整个部分(从“GCM的参考文档”到“包含$(BUILD_DROIDDOC)”)来杀死前4个

除了框架/基础/数据/声音/ AllAudio.mk中的所有行(选择您要保留的任何行)之外,删除PRODUCT_COPY_FILES的所有行都很容易沉默。

留下一个我不了解的单一(“找到src”)。

来源:https://groups.google.com/forum/#!msg/android-building/H8DrWy4bEIM/Y6-HD6e0IxsJ