拓展BuildSetting
修改BuildApp
脚本里面的BuildSetting
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| public class BuildSetting { public string Version = ""; public string Build = ""; public string Name = ""; public bool Debug = true; public Place Place = Place.None; public bool MulRendering = true; public bool IL2CPP = false; } public enum Place { None, Xiaomi, Bilibili, Huawei, Meizu, Weixin }
|
BuildAndroid方法
在BuildApp
脚本里面添加BuildAndroid
方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
| #region 打包机调用打包安卓版本 public static void BuildAndroid() { PlayerSettings.Android.keystoreName = Application.dataPath.Replace("/Assets", "") + "/android.keystore"; PlayerSettings.Android.keystorePass = "ataoandroid"; PlayerSettings.Android.keyaliasName = "resloadprgandr"; PlayerSettings.Android.keyaliasPass = "ataoandroid"; BundleEditor.Build(); BuildSetting buildSetting = GetJenkinsAndroidBuildSetting(); string suffix = SetAndroidSetting(buildSetting); string abPath = Application.dataPath + "/../AssetBundle/" + EditorUserBuildSettings.activeBuildTarget.ToString() + "/"; DeleteDir(m_AndroidPath); Copy(abPath, Application.streamingAssetsPath);
string savePath = m_AndroidPath + PlayerSettings.productName + "_Android" + suffix + string.Format("_{0:yyyy_MM_dd_HH_mm}.apk", DateTime.Now);
BuildPipeline.BuildPlayer(FindEnabledEditorScenes(), savePath, EditorUserBuildSettings.activeBuildTarget, BuildOptions.None);
DeleteDir(Application.streamingAssetsPath); }
static BuildSetting GetJenkinsAndroidBuildSetting() { string[] cmdArgs = Environment.GetCommandLineArgs(); BuildSetting buildSetting = new BuildSetting(); foreach (string arg in cmdArgs) { if (arg.StartsWith("Place")) { var tempParam = arg.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries); if (tempParam.Length == 2) { buildSetting.Place = (Place)Enum.Parse(typeof(Place), tempParam[1],true); } } else if (arg.StartsWith("Version")) { var tempParam = arg.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries); if (tempParam.Length == 2) { buildSetting.Version = tempParam[1].Trim(); } } else if (arg.StartsWith("Build")) { var tempParam = arg.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries); if (tempParam.Length == 2) { buildSetting.Build = tempParam[1].Trim(); } } else if (arg.StartsWith("Name")) { var tempParam = arg.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries); if (tempParam.Length == 2) { buildSetting.Name = tempParam[1].Trim(); } } else if (arg.StartsWith("Debug")) { var tempParam = arg.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries); if (tempParam.Length == 2) { bool.TryParse(tempParam[1], out buildSetting.Debug); } } else if (arg.StartsWith("MulRendering")) { var tempParam = arg.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries); if (tempParam.Length == 2) { bool.TryParse(tempParam[1], out buildSetting.MulRendering); } } else if (arg.StartsWith("IL2CPP")) { var tempParam = arg.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries); if (tempParam.Length == 2) { bool.TryParse(tempParam[1], out buildSetting.IL2CPP); } } } return buildSetting; }
static string SetAndroidSetting(BuildSetting buildSetting) { string suffix = "_"; if(buildSetting.Place != Place.None) { string symbol = PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup.Android); PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Android, symbol+";"+buildSetting.Place.ToString()); suffix += buildSetting.Place.ToString(); } if (!string.IsNullOrEmpty(buildSetting.Version)) { PlayerSettings.bundleVersion = buildSetting.Version; suffix += buildSetting.Version; } if (!string.IsNullOrEmpty(buildSetting.Build)) { PlayerSettings.Android.bundleVersionCode = int.Parse(buildSetting.Build); suffix += "_" + buildSetting.Build; } if (!string.IsNullOrEmpty(buildSetting.Name)) { PlayerSettings.productName = buildSetting.Name; } if (buildSetting.MulRendering) { PlayerSettings.MTRendering = true; suffix += "_MTR"; } else { PlayerSettings.MTRendering = false; } if(buildSetting.IL2CPP) { PlayerSettings.SetScriptingBackend(BuildTargetGroup.Android, ScriptingImplementation.IL2CPP); suffix += "_IL2CPP"; } else { PlayerSettings.SetScriptingBackend(BuildTargetGroup.Android, ScriptingImplementation.Mono2x); } if (buildSetting.Debug) { EditorUserBuildSettings.development = true; EditorUserBuildSettings.connectProfiler = true; suffix += "_Debug"; } else { EditorUserBuildSettings.development = false; } return suffix; } #endregion
|