Advertisement
joaobsneto

Android Multiple Builds

Jan 17th, 2017
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.20 KB | None | 0 0
  1. using UnityEditor;
  2.  
  3. public class PizzaManiaBuilder {
  4.     [MenuItem("Tools/Android Multiple Builds")]
  5.     public static void BuildGame() {
  6.         string[] scenesPath = new string[] { "Scenes/level1.unity", "Scenes/level2.unity"};
  7.        
  8.         PlayerSettings.Android.keystoreName = @"D:\keystore.keystore"; //caminho para o keystore
  9.         PlayerSettings.Android.keystorePass = "keystorePassword";
  10.         PlayerSettings.Android.keyaliasName = "aliasName";
  11.         PlayerSettings.Android.keyaliasPass = "aliasPassword";
  12.    
  13.         ProcessAllBuilds(1200, "build", "Builds/", scenesPath);
  14.     }
  15.  
  16.     static void ProcessAllBuilds(int versionBase, string apkNamePrefix, string folderPath, string[] scenesPath) {
  17.         string basePath = UnityEngine.Application.dataPath + "/../"+folderPath;
  18.         AndroidTargetDevice[] targetDeviceConfigs = new AndroidTargetDevice[] {
  19.             AndroidTargetDevice.ARMv7, AndroidTargetDevice.x86
  20.         };
  21.         MobileTextureSubtarget[] textureConfigs = new MobileTextureSubtarget[] {
  22.             MobileTextureSubtarget.Generic, MobileTextureSubtarget.DXT, MobileTextureSubtarget.PVRTC, MobileTextureSubtarget.ATC,
  23.             MobileTextureSubtarget.ETC, MobileTextureSubtarget.ETC2, MobileTextureSubtarget.ASTC };
  24.         for (int i = 0; i < targetDeviceConfigs.Length; i++) {
  25.             for (int j = 0; j < textureConfigs.Length; j++) {
  26.                 PlayerSettings.Android.targetDevice = targetDeviceConfigs[i];
  27.                 EditorUserBuildSettings.androidBuildSubtarget = textureConfigs[j];
  28.                 BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions();
  29.                 PlayerSettings.Android.bundleVersionCode = versionBase + 10 * (i + 1) + j;
  30.                 string path = basePath + apkNamePrefix + "_" + targetDeviceConfigs[i].ToString() + "_" + textureConfigs[j].ToString() + "_" + PlayerSettings.Android.bundleVersionCode.ToString() + ".apk";
  31.                 buildPlayerOptions.scenes = scenesPath;
  32.                 buildPlayerOptions.locationPathName = path;
  33.                 buildPlayerOptions.target = BuildTarget.Android;
  34.                 string buildResult = BuildPipeline.BuildPlayer(buildPlayerOptions);
  35.             }
  36.         }
  37.     }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement