diff --git a/APKToolGUI/ApkTool/Apktool.cs b/APKToolGUI/ApkTool/Apktool.cs index f1b5106..fd77b44 100644 --- a/APKToolGUI/ApkTool/Apktool.cs +++ b/APKToolGUI/ApkTool/Apktool.cs @@ -252,6 +252,18 @@ namespace APKToolGUI } public string GetVersion() + { + using (JarProcess apktoolJar = new JarProcess(JavaPath, JarPath)) + { + apktoolJar.EnableRaisingEvents = false; + apktoolJar.Start("version"); + string version = apktoolJar.StandardOutput.ReadToEnd(); + apktoolJar.WaitForExit(3000); + return version.Replace("\r\n", ""); + } + } + + public string GetVersionOld() { using (JarProcess apktoolJar = new JarProcess(JavaPath, JarPath)) { diff --git a/APKToolGUI/Forms/FormMain.cs b/APKToolGUI/Forms/FormMain.cs index f625eec..b711434 100644 --- a/APKToolGUI/Forms/FormMain.cs +++ b/APKToolGUI/Forms/FormMain.cs @@ -16,6 +16,7 @@ using System.Media; using System.Linq; using APKToolGUI.Controls; using Ionic.Zip; +using System.Text.RegularExpressions; namespace APKToolGUI { @@ -668,8 +669,11 @@ namespace APKToolGUI } string apktoolVersion = apktool.GetVersion(); - if (!String.IsNullOrWhiteSpace(apktoolVersion)) - ToLog(ApktoolEventType.None, String.Format(Language.APKToolVersion + " \"{0}\"", apktoolVersion)); + string apktoolVersionOld = apktool.GetVersionOld(); + if (!String.IsNullOrWhiteSpace(apktoolVersion) && !Regex.IsMatch(apktoolVersion, @"\r\n?|\n")) + ToLog(ApktoolEventType.None, $"{Language.APKToolVersion} \"{apktoolVersion}\""); + else if (!String.IsNullOrWhiteSpace(apktoolVersionOld) && !Regex.IsMatch(apktoolVersionOld, @"\r\n?|\n")) + ToLog(ApktoolEventType.None, $"{Language.APKToolVersion} \"{apktoolVersionOld}\""); else ToLog(ApktoolEventType.Error, Language.CantDetectApktoolVersion); @@ -1393,12 +1397,16 @@ namespace APKToolGUI { ToLog(ApktoolEventType.None, javaVersion); string apktoolVersion = apktool.GetVersion(); - string apkeditorVersion = apkeditor.GetVersion(); - if (!String.IsNullOrWhiteSpace(apktoolVersion)) - ToLog(ApktoolEventType.None, String.Format(Language.APKToolVersion + " {0}", apktoolVersion)); + string apktoolVersionOld = apktool.GetVersionOld(); + + if (!String.IsNullOrWhiteSpace(apktoolVersion) && !Regex.IsMatch(apktoolVersion, @"\r\n?|\n")) + ToLog(ApktoolEventType.None, $"{Language.APKToolVersion} {apktoolVersion}"); + else if (!String.IsNullOrWhiteSpace(apktoolVersionOld) && !Regex.IsMatch(apktoolVersionOld, @"\r\n?|\n")) + ToLog(ApktoolEventType.None, $"{Language.APKToolVersion} {apktoolVersionOld}"); else ToLog(ApktoolEventType.Error, Language.CantDetectApktoolVersion); + string apkeditorVersion = apkeditor.GetVersion(); if (!String.IsNullOrWhiteSpace(apkeditorVersion)) ToLog(ApktoolEventType.None, apkeditorVersion); else