【问题标题】:AOSP Build TARGET_PRODUCT failsAOSP 构建 TARGET_PRODUCT 失败
【发布时间】:2023-03-29 03:56:01
【问题描述】:

我正在尝试使用 AOSP 构建一个外部工具。我的操作系统是 Linux,发行版 ArchLinux (i3wm),但为了编译 AOSP,我在 Docker 中使用 Ubuntu (https://android.googlesource.com/platform/build/+/master/tools/docker)

第一步:

# init repo
repo init -u https://android.googlesource.com/platform/manifest -b android-8.0.0_r36 --depth=1
repo sync
. build/envsetup.sh # set up environment
lunch aosp_arm-eng # select target to build

第二步:选择工具并构建

cd external/selinux
mma -j48

输出:

ninja: error: unknown target 'MODULES-IN-'
15:41:55 ninja failed with: exit status 1
make: *** [run_soong_ui] Error 1
make: Leaving directory `/home/user/aosp'

#### make failed to build some targets (6 seconds) ###

另一个工具

cd external/wpa_supplicant_8
mma -j48

输出:

ninja: error: unknown target 'MODULES-IN-external-wpa_supplicant_8'
15:41:55 ninja failed with: exit status 1
make: *** [run_soong_ui] Error 1
make: Leaving directory `/home/user/aosp'

#### make failed to build some targets (2 seconds) ###

这发生在任何 aosp 通用目标上:

Lunch menu... pick a combo:
     1. aosp_arm-eng                    # fails
     2. aosp_arm64-eng                  # fails
     3. aosp_mips-eng                   # fails
     4. aosp_mips64-eng                 # fails
     5. aosp_x86-eng                    # fails
     6. aosp_x86_64-eng                 # fails
     7. full_fugu-userdebug             # works
     8. aosp_fugu-userdebug             # works
     9. car_emu_arm64-userdebug         # fails
     10. car_emu_arm-userdebug          # fails
     11. car_emu_x86_64-userdebug       # fails
     12. car_emu_x86-userdebug          # fails
     13. mini_emulator_arm64-userdebug  # fails
     14. m_e_arm-userdebug              # fails
     15. m_e_mips64-eng                 # fails
     16. m_e_mips-userdebug             # fails
     17. mini_emulator_x86_64-userdebug # fails
     18. mini_emulator_x86-userdebug    # fails
     19. aosp_dragon-userdebug          # works
     20. aosp_dragon-eng                # works
     21. aosp_marlin-userdebug          # works
     22. aosp_marlin_svelte-userdebug   # works
     23. aosp_sailfish-userdebug        # works
     24. aosp_angler-userdebug          # works
     25. aosp_bullhead-userdebug        # works
     26. aosp_bullhead_svelte-userdebug # works
     27. hikey-userdebug                # works

我想在所有arch中编译一些二进制工具:arm、arm64、x86和x86_64。

为什么aosp_arm-eng 不起作用?或者如何从非通用 aosp 目标更改 CPU 架构?

使用tapas 不起作用。

【问题讨论】:

    标签: arm wolfram-mathematica android-source armv8


    【解决方案1】:

    在尝试使用 mm... 快捷方式之前,您可能需要进行完整的 AOSP 构建 - 看起来一些构建脚本文件尚未生成。

    【讨论】:

      【解决方案2】:

      使用make clean 命令清除 /out 目录中的所有二进制文件,然后尝试进行完整构建

      【讨论】:

        【解决方案3】:

        实际上没有必要进行完整的构建。只需打开您要构建的模块的 Android.mk 或 Android.bp,然后查找变量 MODULE_NAME。

        然后从项目根目录make

        mm $MODULE_NAME
        

        它应该首先构建您需要的所有依赖项。

        【讨论】:

          【解决方案4】:

          我建议使用 mmm 命令进行构建。还要确保您指向的目录包含 Android.bp 或 Android.mk

          mmm /external/selinux 
          

          另外我建议通过删除 out 目录或简单地运行来清理输出:

          make clean
          

          如果您仍然有这个问题,请删除 repo init 上的 --depth=1 参数并再次同步它。该参数限制了从远程分支获取的提交。

          【讨论】:

            【解决方案5】:

            使用以下命令从根目录编译模块

            1. 转到根目录
            2. 清理干净
            3. 源码构建/envsetup.sh
            4. 午餐“选择选项”
            5. 制作“模块名称”-j8

            【讨论】:

              猜你喜欢
              • 2022-01-03
              • 2018-06-09
              • 1970-01-01
              • 2018-03-31
              • 2021-02-15
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多