Beispiel #1
0
        protected override IEnumerable <string> GetAllAvailableAndroidSdks()
        {
            var preferedSdkPath = PreferedAndroidSdkPath;

            if (!string.IsNullOrEmpty(preferedSdkPath))
            {
                yield return(preferedSdkPath !);
            }

            // Look in PATH
            foreach (var adb in ProcessUtils.FindExecutablesInPath(Adb))
            {
                var path = Path.GetDirectoryName(adb);
                // Strip off "platform-tools"
                var dir = Path.GetDirectoryName(path);

                if (dir == null)
                {
                    continue;
                }

                yield return(dir);
            }

            // Check some hardcoded paths for good measure
            var macSdkPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "Library", "Android", "sdk");

            yield return(macSdkPath);
        }
        protected virtual IEnumerable <string> GetAllAvailableAndroidNdks()
        {
            // Look in PATH
            foreach (var ndkStack in ProcessUtils.FindExecutablesInPath(NdkStack))
            {
                var ndkDir = Path.GetDirectoryName(ndkStack);
                if (string.IsNullOrEmpty(ndkDir))
                {
                    continue;
                }
                yield return(ndkDir);
            }

            // Check for the "ndk-bundle" directory inside other SDK directories
            foreach (var sdk in GetAllAvailableAndroidSdks())
            {
                if (sdk == AndroidSdkPath)
                {
                    continue;
                }
                var ndkDir = FindBestNDK(sdk);
                if (string.IsNullOrEmpty(ndkDir))
                {
                    continue;
                }
                yield return(ndkDir);
            }
        }
Beispiel #3
0
 static IEnumerable <string> GetPathEnvironmentJdkPaths()
 {
     foreach (var java in ProcessUtils.FindExecutablesInPath("java"))
     {
         var props = GetJavaProperties(java);
         if (props.TryGetValue("java.home", out var java_homes))
         {
             var java_home = java_homes [0];
             // `java -XshowSettings:properties -version 2>&1 | grep java.home` ends with `/jre` on macOS.
             // We need the parent dir so we can properly lookup the `include` directories
             if (java_home.EndsWith("jre", StringComparison.OrdinalIgnoreCase))
             {
                 java_home = Path.GetDirectoryName(java_home);
             }
             yield return(java_home);
         }
     }
 }
        protected override IEnumerable <string> GetAllAvailableAndroidNdks()
        {
            var preferedNdkPath = PreferedAndroidNdkPath;

            if (!string.IsNullOrEmpty(preferedNdkPath))
            {
                yield return(preferedNdkPath !);
            }

            // Look in PATH
            foreach (var ndkStack in ProcessUtils.FindExecutablesInPath(NdkStack))
            {
                var ndkDir = Path.GetDirectoryName(ndkStack);
                if (ValidateAndroidNdkLocation(ndkDir))
                {
                    yield return(ndkDir);
                }
            }
        }