Added: Export ANDROID__BUILD_VERSION_SDK in shell environment variable for the Android build SDK version

This is also required for `libtermux-exec-*-ld-preload.so` `$LD_PRELOAD` library as well for `termux-exec` version `>= 2.0.0`.

- https://github.com/termux/termux-exec-package/commit/db738a11
This commit is contained in:
agnostic-apollo
2025-03-28 11:20:42 +05:00
parent e3a8a1f873
commit 36be6abc89

View File

@@ -1,6 +1,7 @@
package com.termux.shared.shell.command.environment;
import android.content.Context;
import android.os.Build;
import androidx.annotation.NonNull;
@@ -20,6 +21,20 @@ import java.util.HashMap;
*/
public class AndroidShellEnvironment extends UnixShellEnvironment {
/** Environment variable scope for Android. */
public static final String ANDROID_ENV_SCOPE = "ANDROID__"; // Default: "ANDROID__"
/**
* Environment variable for the Android build SDK version currently running on the device that
* is defined by {@link Build.VERSION#SDK_INT} and `ro.build.version.sdk` system property.
*
* - https://developer.android.com/reference/android/os/Build.VERSION#SDK_INT
* - https://developer.android.com/reference/android/os/Build.VERSION_CODES
*
* Default value: `ANDROID__BUILD_VERSION_SDK`
*/
public static final String ENV_ANDROID__BUILD_VERSION_SDK = ANDROID_ENV_SCOPE + "BUILD_VERSION_SDK";
protected ShellCommandShellEnvironment shellCommandShellEnvironment;
public AndroidShellEnvironment() {
@@ -61,6 +76,8 @@ public class AndroidShellEnvironment extends UnixShellEnvironment {
ShellEnvironmentUtils.putToEnvIfInSystemEnv(environment, "DEX2OATBOOTCLASSPATH");
ShellEnvironmentUtils.putToEnvIfInSystemEnv(environment, "SYSTEMSERVERCLASSPATH");
ShellEnvironmentUtils.putToEnvIfSet(environment, ENV_ANDROID__BUILD_VERSION_SDK, String.valueOf(Build.VERSION.SDK_INT));
return environment;
}