Ejemplo n.º 1
0
        public virtual bool Initialize(BuildToolLogger buildToolLogger)
        {
            if (!_androidSdk.Initialize(buildToolLogger))
            {
                return(false);
            }

            string ignoredPath;
            var    newestVersion = GetNewestVersionAndPath(out ignoredPath);

            if (newestVersion == null)
            {
                // Being unable to find any existing SDK may indicate a config issue, so don't try to install a new SDK.
                buildToolLogger.DisplayErrorDialog(
                    "Failed to locate any Android SDK Platform version. Check that the Android SDK specified "
                    + "through Preferences -> External Tools has at least one Android SDK Platform installed.");
                return(false);
            }

            if (newestVersion < MinimumVersion)
            {
                var installedVersionMessage = string.Format(
                    "The highest installed Android API Level is {0}, however version {1} is the minimum "
                    + "required to build for Google Play.\n\nClick \"OK\" to install Android API Level {2}.",
                    newestVersion, MinimumVersion, LatestVersion);
                if (buildToolLogger.DisplayActionableErrorDialog(installedVersionMessage))
                {
                    // Note: this install can be slow, but it's not clear that it's any slower through Unity.
                    AndroidSdkPackageInstaller.InstallPackage(
                        string.Format("platforms;android-{0}", LatestVersion),
                        string.Format("Android SDK Platform {0}", LatestVersion),
                        _androidSdk.RootPath);
                }

                return(false);
            }

            var targetSdkVersion = PlayerSettings.Android.targetSdkVersion;

            if (targetSdkVersion == AndroidSdkVersions.AndroidApiLevelAuto || (int)targetSdkVersion >= MinimumVersion)
            {
                return(true);
            }

            var selectedVersionMessage = string.Format(
                "The currently selected Android Target API Level is {0}, however version {1} is the minimum "
                + "required to build for Google Play.\n\nClick \"OK\" to change the Target API Level to "
                + "\"Automatic (highest installed)\", which is currently {2}.",
                (int)targetSdkVersion, MinimumVersion, newestVersion);

            if (buildToolLogger.DisplayActionableErrorDialog(selectedVersionMessage))
            {
                PlayerSettings.Android.targetSdkVersion = AndroidSdkVersions.AndroidApiLevelAuto;
            }

            return(false);
        }
Ejemplo n.º 2
0
        public virtual bool Initialize(BuildToolLogger buildToolLogger)
        {
            if (!_androidSdk.Initialize(buildToolLogger))
            {
                return(false);
            }

            _adbPath = GetAdbPath();
            return(_adbPath != null);
        }
Ejemplo n.º 3
0
 public virtual bool Initialize(BuildToolLogger buildToolLogger)
 {
     return(_androidSdk.Initialize(buildToolLogger));
 }