diff --git a/cmd/internal/build_shared/sdk.go b/cmd/internal/build_shared/sdk.go index 1bcd40bb..0c447ba1 100644 --- a/cmd/internal/build_shared/sdk.go +++ b/cmd/internal/build_shared/sdk.go @@ -11,7 +11,9 @@ import ( "github.com/sagernet/sing-box/log" "github.com/sagernet/sing/common" + E "github.com/sagernet/sing/common/exceptions" "github.com/sagernet/sing/common/rw" + "github.com/sagernet/sing/common/shell" ) var ( @@ -40,6 +42,14 @@ func FindSDK() { log.Fatal("android NDK not found") } + javaVersion, err := shell.Exec("java", "--version").ReadOutput() + if err != nil { + log.Fatal(E.Cause(err, "check java version")) + } + if !strings.Contains(javaVersion, "openjdk 17") { + log.Fatal("java version should be openjdk 17") + } + os.Setenv("ANDROID_HOME", androidSDKPath) os.Setenv("ANDROID_SDK_HOME", androidSDKPath) os.Setenv("ANDROID_NDK_HOME", androidNDKPath)