【问题标题】:Can not locate config makefile for product "cm_oneplus2"找不到产品“cm_oneplus2”的配置生成文件
【发布时间】:2016-01-27 07:17:20
【问题描述】:

我一直在尝试为 OnePlus 2 构建 AOSP ROM。

  1. 我在ubuntu's home 中创建了一个working-dir 文件夹。安装了所有必需的工具和脚本,如 java、python、make、git 和一些 lib 文件。

  2. 我已经下载了压缩源(不包括.repo 文件夹),所以我只有aosp5.1.0 文件夹。我已经在这里下载了它们的表格。 (Heavily Compressed Android Sources)。使用终端将它们提取到working-dir

  3. 我已经从这个存储库中克隆了device tree

https://github.com/krishna422/android_device_oneplus_oneplus2 进入工作目录/device/oneplus/oneplus2

  1. 我已经从这个存储库中克隆了kernel source

https://github.com/krishna422/android_kernel_oneplus_msm8994 进入 working-dir/kernel/oneplus/oneplus2

  1. 我已经从这个存储库中克隆了vendor tree

https://github.com/krishna422/proprietary_vendor_oneplus 进入 working-dir/vendor/oneplus/oneplus2

所以working-dir 中的文件是,

aosp5.1.0、设备、内核、供应商

aosp5.1.0 中的文件是

Files in aosp5.1.0 Screenshot

我已经复制了

working-dir/device/oneplus/ 文件夹进入 aosp5.1.0/device

然后,我打开 cmd,导航到 aosp5.1.0 文件夹,输入 source build/envsetup.sh

我明白了

krishna@krishna:~/working-dir/aosp5.1.0$ source build/envsetup.sh

including device/generic/mini-emulator-armv7-a-neon/vendorsetup.sh
including device/generic/mini-emulator-arm64/vendorsetup.sh
including device/generic/mini-emulator-x86_64/vendorsetup.sh
including device/generic/mini-emulator-x86/vendorsetup.sh
including device/generic/mini-emulator-mips/vendorsetup.sh
including evice/oneplus/android_device_oneplus_oneplus2/vendorsetup.sh
including sdk/bash_completion/adb.bash

然后我输入lunch我得到了,

krishna@krishna:~/working-dir/aosp5.1.0$ lunch
You're building on Linux

Lunch menu... pick a combo:
     1. aosp_arm-eng
     2. aosp_arm64-eng
     3. aosp_mips-eng
     4. aosp_mips64-eng
     5. aosp_x86-eng
     6. aosp_x86_64-eng
     7. m_e_arm-userdebug
     8. mini_emulator_arm64-userdebug
     9. mini_emulator_x86_64-userdebug
     10. mini_emulator_x86-userdebug
     11. mini_emulator_mips-userdebug
     12. cm_oneplus2-user
     13. cm_oneplus2-userdebug
     14. cm_oneplus2-eng

Which would you like?

当我选择12,13,14 时,我得到以下错误,其他都运行良好。

build/core/product_config.mk:222: *** Can not locate config makefile for product "cm_oneplus2".  Stop.

** Don't have a product spec for: 'cm_oneplus2'
** Do you have the right repo manifest?

krishna@krishna:~/working-dir/aosp5.1.0$

请帮忙

【问题讨论】:

  • 你搞定了吗?

标签: android linux git makefile


【解决方案1】:

您的设备树中需要有一个名为AndroidProducts.mk 的文件。将类似以下的内容放入其中。

PRODUCT_MAKEFILES := \
    $(LOCAL_DIR)/oneplus2.mk

它应该与您在vendorsetup.sh 中的内容相匹配,并且oneplus2.mk 应该存在。

查看 LineageOS 存储库中的示例

https://github.com/LineageOS/android_device_oneplus_oneplus2

【讨论】:

  • AndroidProducts.mk 文件必须在文件夹层次结构中的哪个位置?
  • 在设备树的根目录中。请参阅 LineageOS 存储库的链接
  • @opticyclic 没有 AndroidProducts.mk。 “LineageOS 存储库”是指数百个 git 存储库,您认为是哪一个?在整个结帐树中(使用“repo”工具),大约有 30 个 AndroidProducts.mk 文件。
  • 如果你点击链接,它会直接带你到 oneplus2 设备树,在那里你可以看到 AndroidProducts.mk 文件。
猜你喜欢
  • 2018-07-30
  • 2018-12-03
  • 1970-01-01
  • 2017-09-18
  • 1970-01-01
  • 2016-05-10
  • 1970-01-01
  • 1970-01-01
  • 2011-10-01
相关资源
最近更新 更多