Android Song没有Android.PathForSourceRelaxed和ctx.Config().BuildOSTarget

Android Song没有Android.PathForSourceRelaxed和ctx.Config().BuildOSTarget,android,go,android-soong,Android,Go,Android Soong,我试图编译纯aosp源代码,并不断得到这两个错误。我正在使用沿袭供应商文件和aosp设备树 另外,我使用的是一个实时系统,但问题是有两个未定义的方法 ============================================ PLATFORM_VERSION_CODENAME=REL PLATFORM_VERSION=10 TARGET_PRODUCT=aosp_trlte TARGET_BUILD_VARIANT=userdebug TARGET_BUILD_TYPE=relea

我试图编译纯aosp源代码,并不断得到这两个错误。我正在使用沿袭供应商文件和aosp设备树 另外,我使用的是一个实时系统,但问题是有两个未定义的方法

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=10
TARGET_PRODUCT=aosp_trlte
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=krait
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.4.0-7634-generic-x86_64-Pop!_OS-20.04-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=QP1A.190711.019
OUT_DIR=out
============================================
[ 43% 49/113] compile out/soong/.bootstrap/soong-lineage-generator/pkg/lineage/soong/generator.a
FAILED: out/soong/.bootstrap/soong-lineage-generator/pkg/lineage/soong/generator.a
GOROOT='prebuilts/go/linux-x86' prebuilts/go/linux-x86/pkg/tool/linux_amd64/compile -c 8 -o out/soong/.bootstrap/soong-lineage-generator/pkg/lineage/soong/generator.a.tmp -p lineage/soong/generator -complete -I out/soong/.bootstrap/blueprint-parser/pkg -I out/soong/.bootstrap/blueprint-deptools/pkg -I out/soong/.bootstrap/blueprint-pathtools/pkg -I out/soong/.bootstrap/blueprint-proptools/pkg -I out/soong/.bootstrap/blueprint/pkg -I out/soong/.bootstrap/soong/pkg -I out/soong/.bootstrap/blueprint-bootstrap-bpdoc/pkg -I out/soong/.bootstrap/blueprint-bootstrap/pkg -I out/soong/.bootstrap/soong-env/pkg -I out/soong/.bootstrap/soong-android/pkg -I out/soong/.bootstrap/soong-shared/pkg -pack vendor/lineage/build/soong/generator/generator.go vendor/lineage/build/soong/generator/variables.go && if cmp --quiet out/soong/.bootstrap/soong-lineage-generator/pkg/lineage/soong/generator.a.tmp out/soong/.bootstrap/soong-lineage-generator/pkg/lineage/soong/generator.a; then rm out/soong/.bootstrap/soong-lineage-generator/pkg/lineage/soong/generator.a.tmp; else mv -f out/soong/.bootstrap/soong-lineage-generator/pkg/lineage/soong/generator.a.tmp out/soong/.bootstrap/soong-lineage-generator/pkg/lineage/soong/generator.a; fi
vendor/lineage/build/soong/generator/generator.go:124:48: ctx.Config().BuildOSTarget undefined (type android.Config has no field or method BuildOSTarget)
vendor/lineage/build/soong/generator/generator.go:229:38: undefined: android.PathForSourceRelaxed
03:19:35 soong bootstrap failed with: exit status 1

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


我正在使用类似的参数进行构建(AOSP基础、LOS设备、通用板和内核树,并使用
供应商/沿袭
来获得一些配置)。我只面对这个
错误

vendor/lineage/build/soong/generator/generator.go:229:38: undefined: android.PathForSourceRelaxed
经过一些调查,我发现,
PathForSourceRelaxed
是中定义的服务水平函数

关于
BuildOSTarget
,我发现它定义在上,包括在上。但是,当我查看
aosp11.0.0r24
tag源代码时,它已经在那里了(这是我用作基础的标记)

编辑:

在AOSP库中包含这些提交的一种可能方法是遵循以下步骤。基本上,您将这样做:

  • cd-project\u您需要修复
    因此您可以转到正确的项目
  • git remote add
    为项目添加遥控器(我个人喜欢这样使用:
    git remote addgit@github:someone/somerepo-t branch\u我希望\u克隆
    ,因为如果您希望使用
    -t
    标志,您可以只跟踪一个分支)
  • git-fetch--all
    以确保获取所有内容
  • git branch——跟踪本地分支机构\u您想要的分支机构的名称\u跟踪远程分支机构\u您刚刚添加的/branch\u您想要的分支机构\u跟踪机构
    ,以创建分支机构
  • git pull
    因此您可以合并获取的更改(如果有)
然后,您需要选择解决问题所需的提交。如果
PathForSourceRelaxed
,则需要从LOS repo中挑选:

  • git status
    git branch
    以确保您在您的分行,而不是您从LOS获取的分行
  • git cherry pick 191bf4e250d097995a2d55e5ca464ffd02b5baa
    (考虑到您获取了
    relege-18.1
    分支

Hey@WalterSmith!我想我的答案不太清楚,我试图为你在问题中指出的错误提供解决方案。在我的情况下,我用这个作为基础来克隆沿袭回购协议,cherry选择了所需的更改。我正试图使我的AOSP尽可能接近香草。PS:我将编辑我的答案,以改进我提出的解决方案格格斯特德。