Для AOSP 10: это LOCAL_JAVA_LANGUAGE_VERSION в Android.mk.
С:
сборка\скоро\androidmk\cmd\androidmk\android.go:
"LOCAL_JAVA_LANGUAGE_VERSION": "java_version",
сборка\скоро\java\java.go:
func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext)
calls
func (j *Module) compile(ctx android.ModuleContext, extraSrcJars ...android.Path)
calls
func (j *Module) collectBuilderFlags(ctx android.ModuleContext, deps deps) javaBuilderFlags
calls
func (j *Module) collectBuilderFlags(ctx android.ModuleContext, deps deps) javaBuilderFlags
calls
func getJavaVersion(ctx android.ModuleContext, javaVersion string, sdkContext sdkContext) string
Основываясь на исходном коде getJavaVersion, если параметр javaVersion пуст (угадайте, когда LOCAL_JAVA_LANGUAGE_VERSION не установлен), он вернет версию на основе версии Android и т. д., если javaVersion не пуст, то он будет возвращен и помещен в командную строку сборки java по его вызывающий объект collectBuilderFlags.
В collectBuilderFlags этот параметр исходит из j.properties.Java_version, который должен исходить из LOCAL_JAVA_LANGUAGE_VERSION из-за приведенной выше информации с android.go.
Также согласно исходному коду collectBuilderFlags вы можете использовать LOCAL_JAVA_LANGUAGE_VERSION только для установки параметров -source и -target javac. Каждый вызов команды javac в AOSP10 — это javac из JDK9, т. е. prebuilts/jdk/jdk9/linux-x86/bin/javac.
29.01.2021