void IPostGenerateGradleAndroidProject.OnPostGenerateGradleAndroidProject(string path) { ScaleMonkXml scaleMonkXml = AdsProvidersHelper.ReadAdnetsConfigs(); if (string.IsNullOrEmpty(scaleMonkXml.android)) { return; } Debug.Log("OnPostGenerateGradleAndroidProject. Path: " + path); string gradlePropertiesFile = path + "/../gradle.properties"; if (File.Exists(gradlePropertiesFile)) { File.Delete(gradlePropertiesFile); } StreamWriter writer = File.CreateText(gradlePropertiesFile); writer.WriteLine("org.gradle.jvmargs=-Xmx4096M"); writer.WriteLine("android.useAndroidX=true"); writer.WriteLine("android.enableJetifier=true"); writer.WriteLine("org.gradle.parallel=true"); #if UNITY_2019_1_OR_NEWER writer.WriteLine("unityStreamingAssets=.unity3d**STREAMING_ASSETS**"); #endif writer.Flush(); writer.Close(); }
public void OnPostGenerateGradleAndroidProject(string basePath) { // If needed, add condition checks on whether you need to run the modification routine. // For example, specific configuration/app options enabled ScaleMonkXml scaleMonkXml = AdsProvidersHelper.ReadAdnetsConfigs(); if (string.IsNullOrEmpty(scaleMonkXml.android)) { return; } var androidManifest = new AndroidManifest(GetManifestPath(basePath)); // androidManifest.SetApplicationTheme(ThemeName); Debug.Log("OnPostGenerateGradleAndroidProject. App id: " + scaleMonkXml.android); androidManifest.AddMetadataElement(AppIdKey, scaleMonkXml.android.Trim()); // Add your XML manipulation routines foreach (var adnet in scaleMonkXml.adnets) { if (adnet.configs == null || !adnet.android) { continue; } foreach (var config in adnet.configs) { if (config.platform != "android") { continue; } if (!string.IsNullOrEmpty(config.value)) { androidManifest.AddMetadataElement(config.config, config.value.Trim()); } } } androidManifest.Save(); }