public static void OnPostProcessBuild(BuildTarget target, string path)
        {
            if (target == BuildTarget.Android)
            {
                // Only allow builds for Gradle for Android
                // Native video surfaces are broken with internal builds
                AndroidBuildSystem currentBuildSystem = EditorUserBuildSettings.androidBuildSystem;
                if (currentBuildSystem != AndroidBuildSystem.Gradle)
                {
                    throw new PlatformNotSupportedException("Audience Network SDK must be built with Gradle. " +
                                                            "Switch build system to \"Gradle (New)\" under Build Settings.");
                }

                var defaultIdentifier = "com.Company.ProductName";

                // Find application identifier (backwards compatible prior to Unity 5.6)
                if (Utility.GetApplicationIdentifier() == defaultIdentifier)
                {
                    Debug.LogError("The default Unity Bundle Identifier (com.Company.ProductName) will not work correctly.");
                }

                if (!ManifestMod.CheckManifest())
                {
                    // If something is wrong with the Android Manifest, try to regenerate it to fix it for the next build.
                    ManifestMod.GenerateManifest();
                }
            }
            else if (target == BuildTarget.iOS)
            {
                ConfigurePluginPlatforms();
            }
        }
        private void OnStartSetup()
        {
            BundleVersionCode = PlayerSettings.Android.bundleVersionCode;
            PackageName       = PlayerSettings.GetApplicationIdentifier(BuildTargetGroup.Android);
            ScriptingBackend  = PlayerSettings.GetScriptingBackend(BuildTargetGroup.Android);

            BuildSystem         = EditorUserBuildSettings.androidBuildSystem;
            AndroidArchitecture = PlayerSettings.Android.targetArchitectures;
            SetSettings();

            if (EditorUserBuildSettings.activeBuildTarget != BuildTarget.Android)
            {
                return;
            }

#if UNITY_2019
            if ((PlayerSettings.Android.keyaliasPass == "" || PlayerSettings.Android.keystorePass == "") && PlayerSettings.Android.useCustomKeystore == true)
            {
                string pass = PasswordManager.GetPassword("ALIAS_PASSWORD");
                PlayerSettings.Android.keystorePass = pass;
                string alias = PasswordManager.GetPassword("KEYSTORE_PASSWORD");
                PlayerSettings.Android.keyaliasPass = alias;
                Debug.Log("<b><color=red> Password has been updated.</color></b>");
            }
            else if (PlayerSettings.Android.useCustomKeystore == false)
            {
                Debug.Log("Custom key false");
                PasswordManager.GetPassword("");
            }
#else
            if ((PlayerSettings.Android.keyaliasPass == "" || PlayerSettings.Android.keystorePass == "") && (!PlayerSettings.Android.keyaliasName.Contains("debug") || PlayerSettings.Android.keyaliasName != ""))
            {
                string pass = PasswordManager.GetPassword("ALIAS_PASSWORD");
                PlayerSettings.Android.keystorePass = pass;
                string alias = PasswordManager.GetPassword("KEYSTORE_PASSWORD");
                PlayerSettings.Android.keyaliasPass = alias;
                Debug.Log("<b><color=red> Password has been updated.</color></b>");
            }
            else if (PlayerSettings.Android.keyaliasName.Contains("debug") || PlayerSettings.Android.keyaliasName == "")
            {
                Debug.Log("Custom key false");
                PasswordManager.GetPassword("");
            }
#endif
        }
 internal static void ApplySettings(AndroidBuildSystem androidBuildSystem = AndroidBuildSystem.Gradle)
 {
     EditorUserBuildSettings.androidBuildSystem = androidBuildSystem;
 }