无法找到产品“cm_oneplus2”的配置文件。

7

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

  1. 我在我的ubuntu主目录下创建了一个名为working-dir的文件夹。安装了所有所需的工具和脚本,如java、python、make、git和一些库文件。

  2. 我下载了压缩的源代码(不包括.repo文件夹),所以我只有aosp5.1.0文件夹。我从这里下载了它们。(严重压缩的Android源代码)。我使用终端将它们提取到working-dir中。

  3. 我从此存储库克隆了设备树

https://github.com/krishna422/android_device_oneplus_oneplus2 到 working-dir/device/oneplus/oneplus2

  1. 我从这个存储库克隆了内核源代码

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、device、kernel、vendor

aosp5.1.0 中的文件是:

aosp5.1.0 文件截图

我已经将

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$

请帮忙

你构建成功了吗? - dazza5000
1个回答

7
您需要在设备树中拥有一个名为AndroidProducts.mk的文件。请在其中添加以下内容:
PRODUCT_MAKEFILES := \
    $(LOCAL_DIR)/oneplus2.mk

它应该与您在vendorsetup.sh中拥有的内容匹配,并且oneplus2.mk应存在。
请参阅LineageOS存储库中的示例。 https://github.com/LineageOS/android_device_oneplus_oneplus2

1
这个 AndroidProducts.mk 文件应该放在文件夹层次结构的哪个位置? - Fnr
在您的设备树的根目录中。请参阅LineageOS存储库的链接。 - opticyclic
@opticyclic 没有 AndroidProducts.mk 文件。 "LineageOS repo" 意味着数百个 git 存储库,你认为是哪一个?在整个已检出的树(使用工具 "repo"),大约有 30 个 AndroidProducts.mk 文件。 - peterh
如果您只是点击链接,它会直接带您进入oneplus2设备树,您可以在那里看到AndroidProducts.mk文件。 - opticyclic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接