For AOSP 10: it is LOCAL_JAVA_LANGUAGE_VERSION in Android.mk.
Since:
build\soong\androidmk\cmd\androidmk\android.go:
"LOCAL_JAVA_LANGUAGE_VERSION": "java_version",
build\soong\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
Based on getJavaVersion's source code, if the parameter "javaVersion " is empty (guess when LOCAL_JAVA_LANGUAGE_VERSION is not set), it will return version based on Android version etc, if "javaVersion" is not empty then it is returned and put into the java build command line by its caller collectBuilderFlags.
In collectBuilderFlags, that parameter comes from j.properties.Java_version which should comes from "LOCAL_JAVA_LANGUAGE_VERSION" due to the above information from android.go.
Also per the source code of collectBuilderFlags, you can only use LOCAL_JAVA_LANGUAGE_VERSION to set the "-source" and "-target" parameter of javac. Every javac command invocation in AOSP10 is the javac from JDK9, i.e. prebuilts/jdk/jdk9/linux-x86/bin/javac