A partir de 2026, para alinhar com nosso modelo de desenvolvimento estável de tronco e garantir a estabilidade da plataforma para o ecossistema, vamos publicar o código-fonte no AOSP no segundo e quarto trimestres. Para criar e contribuir com o AOSP, recomendamos usar android-latest-release em vez de aosp-main. O branch de manifesto android-latest-release sempre vai fazer referência à versão mais recente enviada ao AOSP. Para mais informações, consulte Mudanças no AOSP.
Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
Expansão recursiva
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Não use expansão recursiva em makefiles de configuração do produto/placa. A expansão recursiva é o uso de um raw = em vez de um := para atribuição de variáveis em makefiles. Isso faz com que variáveis definidas com o valor de outras variáveis não avaliem essas outras variáveis até que elas próprias sejam avaliadas. Esta é uma funcionalidade que o Starlark não suporta.
Removê-lo depende muito do cenário específico de como ele é usado. Na maioria das vezes, envolve mover atribuições de variáveis para antes de onde elas são usadas. Por exemplo, substitua:
MY_VAR_2 = foo
# Some stuff in between...
MY_VAR = $(MY_VAR_2)
MY_VAR_2 = bar
# $(MY_VAR) is bar here.
com:
MY_VAR_2 := foo
# Some stuff in between...
MY_VAR_2 := bar
MY_VAR := $(MY_VAR_2)
# $(MY_VAR) is bar here.
Anexar a uma variável com += usa expansão recursiva se essa variável não tiver sido atribuída com expansão simples antes. Se você não tiver certeza se a variável foi atribuída antes, o += pode ser substituído por MY_VAR := $(strip $(MY_VAR) new_value) .
A remoção da expansão adiada também pode acelerar a avaliação dos Makefiles mesmo antes da conversão para Starlark ser concluída. Se as variáveis fossem definidas para o resultado de chamadas de função caras, a função seria chamada apenas uma vez com expansão simples, mas potencialmente muitas vezes com expansão recursiva.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2022-06-06 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2022-06-06 UTC."],[],[]]