SDKTool() public static method

public static SDKTool ( PostProcessorContext context, string command, string workingdir, string errorMsg ) : string
context PostProcessorContext
command string
workingdir string
errorMsg string
return string
Esempio n. 1
0
        private void BuildApk(PostProcessorContext context)
        {
            bool             flag      = context.Get <bool>("DevelopmentPlayer");
            AndroidLibraries libraries = context.Get <AndroidLibraries>("AndroidLibraries");
            bool             flag2     = PlayerSettings.Android.keyaliasName.Length != 0;
            string           str       = Path.Combine(Environment.CurrentDirectory, this._stagingArea);

            string[] first = new string[] { "apk", $"{str}/Package_unaligned.apk", "-z", $"{str}/assets.ap_", "-z", $"{str}/bin/resources.ap_", "-nf", $"{str}/libs", "-f", $"{str}/bin/classes.dex", "-v" };
            foreach (string str2 in libraries.GetLibraryDirectories())
            {
                string[] second = new string[] { "-nf", str2 };
                first = first.Concat <string>(second).ToArray <string>();
            }
            foreach (string str3 in libraries.GetAssetsDirectories())
            {
                string[] textArray3 = new string[] { "-A", str3 };
                first = first.Concat <string>(textArray3).ToArray <string>();
            }
            if (flag2)
            {
                string   str4       = !Path.IsPathRooted(PlayerSettings.Android.keystoreName) ? Path.Combine(Directory.GetCurrentDirectory(), PlayerSettings.Android.keystoreName) : PlayerSettings.Android.keystoreName;
                string[] textArray4 = new string[] { "-k", str4, "-kp", PlayerSettings.Android.keystorePass, "-kk", PlayerSettings.Android.keyaliasName, "-kkp", PlayerSettings.Android.keyaliasPass };
                first = first.Concat <string>(textArray4).ToArray <string>();
            }
            if (flag || Unsupported.IsDeveloperBuild())
            {
                string[] textArray5 = new string[] { "-d" };
                first = first.Concat <string>(textArray5).ToArray <string>();
            }
            if (File.Exists(Path.Combine(this._stagingArea, "raw.ap_")))
            {
                string[] textArray6 = new string[] { "-z", $"{str}/raw.ap_" };
                first = first.Concat <string>(textArray6).ToArray <string>();
            }
            string   message  = TasksCommon.SDKTool(context, first, this._stagingArea, "Failed to build apk.");
            string   fileName = Path.Combine(this._stagingArea, "Package_unaligned.apk");
            FileInfo info     = new FileInfo(fileName);

            if (!File.Exists(fileName) || (info.Length == 0L))
            {
                Debug.LogError(message);
                CancelPostProcess.AbortBuildPointToConsole("APK Builder Failed!", "Failed to build APK package.");
            }
        }
Esempio n. 2
0
        private void BuildObb(PostProcessorContext context)
        {
            bool flag  = File.Exists(Path.Combine(this._stagingArea, "obb.ap_"));
            bool flag2 = File.Exists(Path.Combine(this._stagingArea, "rawobb.ap_"));

            if (flag || flag2)
            {
                string   str   = Path.Combine(Environment.CurrentDirectory, this._stagingArea);
                string[] first = new string[] { "apk", $"{str}/main.obb", "-u" };
                if (flag)
                {
                    string[] second = new string[] { "-z", $"{str}/obb.ap_" };
                    first = first.Concat <string>(second).ToArray <string>();
                }
                if (flag2)
                {
                    string[] textArray3 = new string[] { "-z", $"{str}/rawobb.ap_" };
                    first = first.Concat <string>(textArray3).ToArray <string>();
                }
                string   message  = TasksCommon.SDKTool(context, first, this._stagingArea, "Failed to build OBB.");
                string   fileName = Path.Combine(this._stagingArea, "main.obb");
                FileInfo info     = new FileInfo(fileName);
                if (!File.Exists(fileName) || (info.Length == 0L))
                {
                    Debug.LogError(message);
                    CancelPostProcess.AbortBuildPointToConsole("OBB Builder Failed!", "Failed to build OBB package.");
                }
                if (info.Length >= 0x80000000L)
                {
                    Debug.LogError(message);
                    CancelPostProcess.AbortBuildPointToConsole("OBB Builder Failed!", "OBB file too big for Android Market (max 2GB).");
                }
                AndroidXmlDocument document = context.Get <AndroidXmlDocument>("SettingsXml");
                document.PatchStringRes("bool", TasksCommon.GetMD5HashOfEOCD(fileName), true.ToString());
                document.Save();
            }
        }
Esempio n. 3
0
 private void BuildDex(PostProcessorContext context)
 {
     string[] components = new string[] { TasksCommon.GetClassDirectory(context), "classes.jar" };
     string[] textArray2 = new string[] { this._stagingArea, "bin", "classes.jar" };
     FileUtil.CopyFileOrDirectory(Paths.Combine(components), Paths.Combine(textArray2));
     string[] array = new string[] { "dx", "--dex", "--verbose", "--output=bin/classes.dex", "bin/classes.jar" };
     if (Directory.Exists(Path.Combine(this._stagingArea, "bin/classes")))
     {
         ArrayUtility.Add <string>(ref array, "bin/classes");
     }
     if (Directory.Exists(Path.Combine(this._stagingArea, "plugins")))
     {
         ArrayUtility.Add <string>(ref array, "plugins");
     }
     foreach (string str in this._androidLibraries.GetLibraryDirectories())
     {
         ArrayUtility.Add <string>(ref array, str);
     }
     foreach (string str2 in this._androidLibraries.GetCompiledJarFiles())
     {
         ArrayUtility.Add <string>(ref array, str2);
     }
     TasksCommon.SDKTool(context, array, this._stagingArea, "Unable to convert classes into dex format.");
 }