@@ -509,11 +509,21 @@ def patch_android_env(unity_version):
509509 logging .info ("set ANDROID_NDK_HOME: %s" , os .environ ["ANDROID_NDK_HOME" ])
510510 else :
511511 logging .warning ("No valid android folder unzipped from url %s, ANDROID_NDK_HOME not overwritten" , url )
512+
513+ # Figure out path to sdk manager
514+ sdkmanager_path = os .environ ["ANDROID_HOME" ]+ "/tools/bin/sdkmanager"
515+ if (not os .path .exists (sdkmanager_path )):
516+ sdkmanager_path = os .environ ["ANDROID_HOME" ]+ "/cmdline-tools/latest/bin/sdkmanager"
517+ if (not os .path .exists (sdkmanager_path )):
518+ sdkmanager_path = os .environ ["ANDROID_HOME" ]+ "/cmdline-tools/latest/bin/sdkmanager.bat"
519+ if (not os .path .exists (sdkmanager_path )):
520+ raise RuntimeError ("Unable to locate Android SDK manager, which will likely cause problems" )
521+
512522 if major_version >= 2020 :
513523 try :
514524 # This is a bug from Unity:
515525 # https://issuetracker.unity3d.com/issues/android-android-build-fails-when-targeting-sdk-31-and-using-build-tools-31-dot-0-0
516- _run ([os . environ [ "ANDROID_HOME" ] + "/tools/bin/sdkmanager" , "--uninstall" , "build-tools;31.0.0" ], check = False )
526+ _run ([sdkmanager_path , "--uninstall" , "build-tools;31.0.0" ], check = False )
517527 logging .info ("Uninstall Android build tool 31.0.0" )
518528 except Exception as e :
519529 logging .info (str (e ))
@@ -524,7 +534,7 @@ def patch_android_env(unity_version):
524534 # If this continues to be a problem, this logic might need to be smarter, to remove all versions newer than 32,
525535 # but currently the GitHub runners have 33 as their max.
526536 logging .info ("Uninstall Android platform android-33" )
527- _run ([os . environ [ "ANDROID_HOME" ] + "/tools/bin/sdkmanager" , "--uninstall" , "platforms;android-33" ], check = False )
537+ _run ([sdkmanager_path , "--uninstall" , "platforms;android-33" ], check = False )
528538 except Exception as e :
529539 logging .exception ("Failed to uninstall Android platform android-33" )
530540
0 commit comments