mirror of
https://github.com/AndnixSH/APKToolGUI.git
synced 2026-05-04 11:02:27 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e1afd0c7ac | |||
| 9f5ea243e6 | |||
| eec15ff17e | |||
| 8e917167f3 |
@@ -68,7 +68,7 @@ namespace APKToolGUI.Utils
|
||||
Permissions += StringExt.Regex(@"(?<=name=\')(.*?)(?=\')", line) + "\n";
|
||||
break;
|
||||
case "sdkVersion":
|
||||
SdkVersion += SdkToAndroidVer(StringExt.Regex(@"(?<=sdkVersion:\')(.*?)(?=\')", line));
|
||||
SdkVersion = SdkToAndroidVer(StringExt.Regex(@"(?<=sdkVersion:\')(.*?)(?=\')", line));
|
||||
break;
|
||||
case "targetSdkVersion":
|
||||
TargetSdkVersion = SdkToAndroidVer(StringExt.Regex(@"(?<=targetSdkVersion:\')(.*?)(?=\')", line));
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace APKToolGUI.ApkTool
|
||||
@@ -42,20 +43,16 @@ namespace APKToolGUI.ApkTool
|
||||
string ymlPath = Path.Combine(path, "apktool.yml");
|
||||
if (File.Exists(ymlPath))
|
||||
{
|
||||
string[] Manifest = File.ReadAllLines(ymlPath);
|
||||
string yml = "";
|
||||
foreach (string s in Manifest)
|
||||
string ymll = File.ReadAllText(ymlPath);
|
||||
|
||||
int sdk = 30;
|
||||
int.TryParse(StringExt.Regex(@"(?<= targetSdkVersion: \')(.*?)(?=\')", ymll), out sdk);
|
||||
if (sdk >= 30)
|
||||
{
|
||||
int sdk = 30;
|
||||
int.TryParse(StringExt.Regex(@"(?<= targetSdkVersion: \')(.*?)(?=\')", s), out sdk);
|
||||
if (sdk >= 30)
|
||||
{
|
||||
yml += " targetSdkVersion: '29'\n";
|
||||
return true;
|
||||
}
|
||||
yml += s + "\n";
|
||||
ymll = ymll.Replace("targetSdkVersion: '" + sdk + "'", "targetSdkVersion: '29'");
|
||||
File.WriteAllText(ymlPath, ymll);
|
||||
return true;
|
||||
}
|
||||
File.WriteAllText(ymlPath, yml);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -44,6 +44,7 @@ namespace APKToolGUI
|
||||
public const string OutputAppPath = " -o"; // The name of apk that gets written. Default is dist/name.apk
|
||||
public const string NoCrunch = " -nc"; // Disable crunching of resource files during the build step.
|
||||
public const string ApiLevel = " -api"; //The numeric api-level of the file to generate, e.g. 14 for ICS.
|
||||
public const string UseAapt2 = " --use-aapt2"; //Upgrades apktool to use experimental aapt2 binary.
|
||||
}
|
||||
|
||||
static class InstallFrameworkKeys
|
||||
@@ -127,7 +128,7 @@ namespace APKToolGUI
|
||||
apiLevel = String.Format("{0} {1}", DecompileKeys.ApiLevel, Settings.Default.Decode_ApiLevel);
|
||||
keyOutputDir = String.Format("{0} \"{1}\"", DecompileKeys.OutputDir, outputDir);
|
||||
|
||||
string args = String.Format("d{0}{1}{2}{3}{4}{5}{6}{7}{8}{9} \"{10}\"", keyNoSrc, keyNoRes, keyForce, onlyMainClasses, noDebugInfo, keyMatchOriginal, keyFramePath, keyKeepBrokenRes, keyOutputDir, apiLevel, inputPath);
|
||||
string args = String.Format($"d{keyNoSrc}{keyNoRes}{keyForce}{onlyMainClasses}{noDebugInfo}{keyMatchOriginal}{keyFramePath}{keyKeepBrokenRes}{apiLevel}{keyOutputDir} \"{inputPath}\"");
|
||||
|
||||
Start(args);
|
||||
BeginOutputReadLine();
|
||||
@@ -140,7 +141,7 @@ namespace APKToolGUI
|
||||
{
|
||||
string decApkDir = Settings.Default.Build_InputDir;
|
||||
|
||||
string keyForceAll = null, keyAapt = null, keyCopyOriginal = null, noCrunch = null, keyFramePath = null, keyOutputAppPath = null, apiLevel = null;
|
||||
string keyForceAll = null, keyAapt = null, keyCopyOriginal = null, noCrunch = null, keyFramePath = null, keyOutputAppPath = null, apiLevel = null, useAapt2 = null;
|
||||
if (Settings.Default.Build_ForceAll)
|
||||
keyForceAll = BuildKeys.ForceAll;
|
||||
if (Settings.Default.Build_CopyOriginal)
|
||||
@@ -153,9 +154,11 @@ namespace APKToolGUI
|
||||
keyFramePath = String.Format("{0} \"{1}\"", BuildKeys.FrameworkPath, Settings.Default.Build_FrameDir);
|
||||
if (Settings.Default.Build_SetApiLevel)
|
||||
apiLevel = String.Format("{0} {1}", DecompileKeys.ApiLevel, Settings.Default.Build_ApiLevel);
|
||||
if (Settings.Default.Build_UseAapt2)
|
||||
useAapt2 = BuildKeys.UseAapt2;
|
||||
keyOutputAppPath = String.Format("{0} \"{1}\"", BuildKeys.OutputAppPath, outputFile);
|
||||
|
||||
string args = String.Format("b{0}{1}{2}{3}{4}{5}{6} \"{7}\"", keyForceAll, keyAapt, keyCopyOriginal, noCrunch, keyFramePath, keyOutputAppPath, apiLevel, decApkDir);
|
||||
string args = String.Format($"b{keyForceAll}{keyAapt}{keyCopyOriginal}{noCrunch}{keyFramePath}{apiLevel}{useAapt2}{keyOutputAppPath} \"{decApkDir}\"");
|
||||
|
||||
Start(args);
|
||||
BeginOutputReadLine();
|
||||
@@ -174,7 +177,7 @@ namespace APKToolGUI
|
||||
if (Settings.Default.InstallFramework_UseTag)
|
||||
keyTag = String.Format("{0} \"{1}\"", InstallFrameworkKeys.Tag, Settings.Default.InstallFramework_Tag);
|
||||
|
||||
string args = String.Format("if{0}{1} \"{2}\"", keyFrameDir, keyTag, inputPath);
|
||||
string args = String.Format($"if{keyFrameDir}{keyTag} \"{inputPath}\"");
|
||||
|
||||
Start(args);
|
||||
BeginOutputReadLine();
|
||||
|
||||
Generated
+629
-608
File diff suppressed because it is too large
Load Diff
@@ -89,6 +89,7 @@ namespace APKToolGUI
|
||||
button_DECODE_BrowseInputAppPath.Click += decodeHandlers.button_DECODE_BrowseInputAppPath_Click;
|
||||
button_DECODE_Decode.Click += decodeHandlers.button_DECODE_Decode_Click;
|
||||
decApkOpenDirBtn.Click += decodeHandlers.decApkOpenDirBtn_Click;
|
||||
decOutOpenDirBtn.Click += decodeHandlers.decOutOpenDirBtn_Click;
|
||||
|
||||
buildHandlers = new BuildControlEventHandlers(this);
|
||||
button_BUILD_BrowseAaptPath.Click += buildHandlers.button_BUILD_BrowseAaptPath_Click;
|
||||
@@ -258,6 +259,9 @@ namespace APKToolGUI
|
||||
GetApkInfo(file);
|
||||
tabControlMain.SelectedIndex = 1;
|
||||
break;
|
||||
default: //Fix when running app as Release from Visual studio
|
||||
IgnoreOutputDirContextMenu = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -566,6 +570,7 @@ namespace APKToolGUI
|
||||
if (ApkFixer.RemoveApkToolDummies(outputDir))
|
||||
ToLog(ApktoolEventType.Information, Language.RemoveApkToolDummies);
|
||||
}
|
||||
ToLog(ApktoolEventType.Information, Language.AllDone);
|
||||
}
|
||||
else
|
||||
ToLog(ApktoolEventType.Error, Language.ErrorDecompiling);
|
||||
@@ -613,7 +618,7 @@ namespace APKToolGUI
|
||||
{
|
||||
outputFile = Path.Combine(Settings.Default.Build_OutputAppPath, Path.GetFileName(inputFile)) + ".apk";
|
||||
if (Settings.Default.Build_SignAfterBuild)
|
||||
outputFile = Path.Combine(Settings.Default.Build_OutputAppPath, Path.GetFileName(inputFile)) + "signed.apk";
|
||||
outputFile = Path.Combine(Settings.Default.Build_OutputAppPath, Path.GetFileName(inputFile)) + " signed.apk";
|
||||
}
|
||||
code = apktool.Build(outputFile);
|
||||
|
||||
|
||||
+129
-63
@@ -132,10 +132,10 @@
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="comApkOpenDir.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>414, 200</value>
|
||||
<value>406, 200</value>
|
||||
</data>
|
||||
<data name="comApkOpenDir.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>167, 24</value>
|
||||
<value>175, 24</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="comApkOpenDir.TabIndex" type="System.Int32, mscorlib">
|
||||
@@ -156,6 +156,39 @@
|
||||
<data name=">>comApkOpenDir.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="decOutOpenDirBtn.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
</data>
|
||||
<data name="decOutOpenDirBtn.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
|
||||
<value>Center</value>
|
||||
</data>
|
||||
<data name="decOutOpenDirBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="decOutOpenDirBtn.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>7, 228</value>
|
||||
</data>
|
||||
<data name="decOutOpenDirBtn.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>175, 24</value>
|
||||
</data>
|
||||
<data name="decOutOpenDirBtn.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>16</value>
|
||||
</data>
|
||||
<data name="decOutOpenDirBtn.Text" xml:space="preserve">
|
||||
<value>Decompile output location</value>
|
||||
</data>
|
||||
<data name=">>decOutOpenDirBtn.Name" xml:space="preserve">
|
||||
<value>decOutOpenDirBtn</value>
|
||||
</data>
|
||||
<data name=">>decOutOpenDirBtn.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>decOutOpenDirBtn.Parent" xml:space="preserve">
|
||||
<value>tabPageMain</value>
|
||||
</data>
|
||||
<data name=">>decOutOpenDirBtn.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="signApkOpenDirBtn.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
</data>
|
||||
@@ -166,10 +199,10 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="signApkOpenDirBtn.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>306, 227</value>
|
||||
<value>406, 228</value>
|
||||
</data>
|
||||
<data name="signApkOpenDirBtn.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>167, 24</value>
|
||||
<value>175, 24</value>
|
||||
</data>
|
||||
<data name="signApkOpenDirBtn.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>16</value>
|
||||
@@ -187,7 +220,7 @@
|
||||
<value>tabPageMain</value>
|
||||
</data>
|
||||
<data name=">>signApkOpenDirBtn.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="alignApkOpenDirBtn.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
@@ -199,10 +232,10 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="alignApkOpenDirBtn.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>101, 227</value>
|
||||
<value>206, 228</value>
|
||||
</data>
|
||||
<data name="alignApkOpenDirBtn.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>167, 24</value>
|
||||
<value>175, 24</value>
|
||||
</data>
|
||||
<data name="alignApkOpenDirBtn.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>16</value>
|
||||
@@ -220,7 +253,7 @@
|
||||
<value>tabPageMain</value>
|
||||
</data>
|
||||
<data name=">>alignApkOpenDirBtn.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="decApkOpenDirBtn.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
@@ -232,10 +265,10 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="decApkOpenDirBtn.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>211, 200</value>
|
||||
<value>206, 200</value>
|
||||
</data>
|
||||
<data name="decApkOpenDirBtn.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>167, 24</value>
|
||||
<value>175, 24</value>
|
||||
</data>
|
||||
<data name="decApkOpenDirBtn.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>16</value>
|
||||
@@ -253,7 +286,7 @@
|
||||
<value>tabPageMain</value>
|
||||
</data>
|
||||
<data name=">>decApkOpenDirBtn.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="selectedApkOpenDirBtn.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
@@ -265,10 +298,10 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="selectedApkOpenDirBtn.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 201</value>
|
||||
<value>7, 201</value>
|
||||
</data>
|
||||
<data name="selectedApkOpenDirBtn.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>167, 23</value>
|
||||
<value>175, 23</value>
|
||||
</data>
|
||||
<data name="selectedApkOpenDirBtn.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>13</value>
|
||||
@@ -286,16 +319,16 @@
|
||||
<value>tabPageMain</value>
|
||||
</data>
|
||||
<data name=">>selectedApkOpenDirBtn.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="button_OpenMainActivity.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="button_OpenMainActivity.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>414, 256</value>
|
||||
<value>406, 256</value>
|
||||
</data>
|
||||
<data name="button_OpenMainActivity.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>167, 23</value>
|
||||
<value>175, 23</value>
|
||||
</data>
|
||||
<data name="button_OpenMainActivity.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
@@ -313,16 +346,16 @@
|
||||
<value>tabPageMain</value>
|
||||
</data>
|
||||
<data name=">>button_OpenMainActivity.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="openApktoolYmlBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="openApktoolYmlBtn.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>211, 256</value>
|
||||
<value>206, 256</value>
|
||||
</data>
|
||||
<data name="openApktoolYmlBtn.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>167, 23</value>
|
||||
<value>175, 23</value>
|
||||
</data>
|
||||
<data name="openApktoolYmlBtn.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
@@ -340,16 +373,16 @@
|
||||
<value>tabPageMain</value>
|
||||
</data>
|
||||
<data name=">>openApktoolYmlBtn.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="openAndroidMainfestBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="openAndroidMainfestBtn.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 256</value>
|
||||
<value>7, 256</value>
|
||||
</data>
|
||||
<data name="openAndroidMainfestBtn.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>167, 23</value>
|
||||
<value>175, 23</value>
|
||||
</data>
|
||||
<data name="openAndroidMainfestBtn.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
@@ -367,7 +400,7 @@
|
||||
<value>tabPageMain</value>
|
||||
</data>
|
||||
<data name=">>openAndroidMainfestBtn.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="label4.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -508,7 +541,7 @@
|
||||
<value>tabPageMain</value>
|
||||
</data>
|
||||
<data name=">>signPanel.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -649,7 +682,7 @@
|
||||
<value>tabPageMain</value>
|
||||
</data>
|
||||
<data name=">>zipalignPanel.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -790,7 +823,7 @@
|
||||
<value>tabPageMain</value>
|
||||
</data>
|
||||
<data name=">>comPanel.ZOrder" xml:space="preserve">
|
||||
<value>10</value>
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -931,7 +964,7 @@
|
||||
<value>tabPageMain</value>
|
||||
</data>
|
||||
<data name=">>decPanel.ZOrder" xml:space="preserve">
|
||||
<value>11</value>
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name="tabPageMain.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 22</value>
|
||||
@@ -2282,7 +2315,7 @@ and change target SDK to 29</value>
|
||||
<value>4, 4</value>
|
||||
</data>
|
||||
<data name="groupBox_DECODE_Options.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>559, 344</value>
|
||||
<value>559, 349</value>
|
||||
</data>
|
||||
<data name="groupBox_DECODE_Options.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
@@ -2332,6 +2365,36 @@ and change target SDK to 29</value>
|
||||
<data name="tabPageBuild.AutoScroll" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="useAapt2ChkBox.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="useAapt2ChkBox.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="useAapt2ChkBox.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>8, 312</value>
|
||||
</data>
|
||||
<data name="useAapt2ChkBox.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>353, 17</value>
|
||||
</data>
|
||||
<data name="useAapt2ChkBox.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>19</value>
|
||||
</data>
|
||||
<data name="useAapt2ChkBox.Text" xml:space="preserve">
|
||||
<value>Use aapt2 (Upgrades apktool to use experimental aapt2 binary.)</value>
|
||||
</data>
|
||||
<data name=">>useAapt2ChkBox.Name" xml:space="preserve">
|
||||
<value>useAapt2ChkBox</value>
|
||||
</data>
|
||||
<data name=">>useAapt2ChkBox.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>useAapt2ChkBox.Parent" xml:space="preserve">
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>useAapt2ChkBox.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="buildApiLvlUpDown.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>492, 17</value>
|
||||
</data>
|
||||
@@ -2351,7 +2414,7 @@ and change target SDK to 29</value>
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>buildApiLvlUpDown.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="buildSetApiLvlChkBox.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -2381,7 +2444,7 @@ and change target SDK to 29</value>
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>buildSetApiLvlChkBox.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="label23.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -2393,13 +2456,13 @@ and change target SDK to 29</value>
|
||||
<value>26, 291</value>
|
||||
</data>
|
||||
<data name="label23.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>336, 13</value>
|
||||
<value>344, 13</value>
|
||||
</data>
|
||||
<data name="label23.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>16</value>
|
||||
</data>
|
||||
<data name="label23.Text" xml:space="preserve">
|
||||
<value>May not work with Lucky Patcher. It works better for CorePatch. </value>
|
||||
<value>May not work with Lucky Patcher. It works better with CorePatch. </value>
|
||||
</data>
|
||||
<data name=">>label23.Name" xml:space="preserve">
|
||||
<value>label23</value>
|
||||
@@ -2411,37 +2474,37 @@ and change target SDK to 29</value>
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>label23.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="checkBox1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<data name="createUnsignApkChkBox.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="checkBox1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<data name="createUnsignApkChkBox.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="checkBox1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<data name="createUnsignApkChkBox.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>8, 271</value>
|
||||
</data>
|
||||
<data name="checkBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<data name="createUnsignApkChkBox.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>190, 17</value>
|
||||
</data>
|
||||
<data name="checkBox1.TabIndex" type="System.Int32, mscorlib">
|
||||
<data name="createUnsignApkChkBox.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>15</value>
|
||||
</data>
|
||||
<data name="checkBox1.Text" xml:space="preserve">
|
||||
<data name="createUnsignApkChkBox.Text" xml:space="preserve">
|
||||
<value>Create unsigned APK after build</value>
|
||||
</data>
|
||||
<data name=">>checkBox1.Name" xml:space="preserve">
|
||||
<value>checkBox1</value>
|
||||
<data name=">>createUnsignApkChkBox.Name" xml:space="preserve">
|
||||
<value>createUnsignApkChkBox</value>
|
||||
</data>
|
||||
<data name=">>checkBox1.Type" xml:space="preserve">
|
||||
<data name=">>createUnsignApkChkBox.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>checkBox1.Parent" xml:space="preserve">
|
||||
<data name=">>createUnsignApkChkBox.Parent" xml:space="preserve">
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>checkBox1.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
<data name=">>createUnsignApkChkBox.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="label16.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -2471,7 +2534,7 @@ and change target SDK to 29</value>
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>label16.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="signAfterBuildChkBox.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -2501,7 +2564,7 @@ and change target SDK to 29</value>
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>signAfterBuildChkBox.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="zipalignAfterBuildChkBox.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -2531,7 +2594,7 @@ and change target SDK to 29</value>
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>zipalignAfterBuildChkBox.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="checkBox_BUILD_NoCrunch.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -2561,7 +2624,7 @@ and change target SDK to 29</value>
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>checkBox_BUILD_NoCrunch.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="button_BUILD_BrowseOutputAppPath.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
@@ -2591,7 +2654,7 @@ and change target SDK to 29</value>
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>button_BUILD_BrowseOutputAppPath.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="checkBox_BUILD_ForceAll.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -2621,7 +2684,7 @@ and change target SDK to 29</value>
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>checkBox_BUILD_ForceAll.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="button_BUILD_BrowseFrameDir.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
@@ -2651,7 +2714,7 @@ and change target SDK to 29</value>
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>button_BUILD_BrowseFrameDir.ZOrder" xml:space="preserve">
|
||||
<value>10</value>
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="button_BUILD_BrowseAaptPath.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
@@ -2681,7 +2744,7 @@ and change target SDK to 29</value>
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>button_BUILD_BrowseAaptPath.ZOrder" xml:space="preserve">
|
||||
<value>11</value>
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name="checkBox_BUILD_OutputAppPath.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -2711,7 +2774,7 @@ and change target SDK to 29</value>
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>checkBox_BUILD_OutputAppPath.ZOrder" xml:space="preserve">
|
||||
<value>12</value>
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name="checkBox_BUILD_CopyOriginal.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -2741,7 +2804,7 @@ and change target SDK to 29</value>
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>checkBox_BUILD_CopyOriginal.ZOrder" xml:space="preserve">
|
||||
<value>13</value>
|
||||
<value>14</value>
|
||||
</data>
|
||||
<data name="textBox_BUILD_OutputAppPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>255, 145</value>
|
||||
@@ -2765,7 +2828,7 @@ and change target SDK to 29</value>
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>textBox_BUILD_OutputAppPath.ZOrder" xml:space="preserve">
|
||||
<value>14</value>
|
||||
<value>15</value>
|
||||
</data>
|
||||
<data name="checkBox_BUILD_UseAapt.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -2795,7 +2858,7 @@ and change target SDK to 29</value>
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>checkBox_BUILD_UseAapt.ZOrder" xml:space="preserve">
|
||||
<value>15</value>
|
||||
<value>16</value>
|
||||
</data>
|
||||
<data name="textBox_BUILD_AaptPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>255, 93</value>
|
||||
@@ -2819,7 +2882,7 @@ and change target SDK to 29</value>
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>textBox_BUILD_AaptPath.ZOrder" xml:space="preserve">
|
||||
<value>16</value>
|
||||
<value>17</value>
|
||||
</data>
|
||||
<data name="textBox_BUILD_FrameDir.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>255, 119</value>
|
||||
@@ -2843,7 +2906,7 @@ and change target SDK to 29</value>
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>textBox_BUILD_FrameDir.ZOrder" xml:space="preserve">
|
||||
<value>17</value>
|
||||
<value>18</value>
|
||||
</data>
|
||||
<data name="checkBox_BUILD_UseFramework.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -2873,13 +2936,13 @@ and change target SDK to 29</value>
|
||||
<value>groupBox_BUILD_Options</value>
|
||||
</data>
|
||||
<data name=">>checkBox_BUILD_UseFramework.ZOrder" xml:space="preserve">
|
||||
<value>18</value>
|
||||
<value>19</value>
|
||||
</data>
|
||||
<data name="groupBox_BUILD_Options.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 7</value>
|
||||
</data>
|
||||
<data name="groupBox_BUILD_Options.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>559, 328</value>
|
||||
<value>559, 354</value>
|
||||
</data>
|
||||
<data name="groupBox_BUILD_Options.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
@@ -5254,7 +5317,7 @@ and change target SDK to 29</value>
|
||||
<value>100, 16</value>
|
||||
</data>
|
||||
<data name="statusStrip1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 485</value>
|
||||
<value>0, 464</value>
|
||||
</data>
|
||||
<data name="statusStrip1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>596, 22</value>
|
||||
@@ -5386,7 +5449,7 @@ and change target SDK to 29</value>
|
||||
<value>96, 96</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>596, 507</value>
|
||||
<value>596, 486</value>
|
||||
</data>
|
||||
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 8.25pt</value>
|
||||
@@ -7057,6 +7120,9 @@ and change target SDK to 29</value>
|
||||
//////////w4AAAcP///////
|
||||
</value>
|
||||
</data>
|
||||
<data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>99, 97</value>
|
||||
</data>
|
||||
|
||||
@@ -93,7 +93,7 @@ namespace APKToolGUI.Handlers
|
||||
{
|
||||
outputFile = Path.Combine(Settings.Default.Build_OutputAppPath, Path.GetFileName(decApkDir)) + ".apk";
|
||||
if (Settings.Default.Build_SignAfterBuild)
|
||||
outputFile = Path.Combine(Settings.Default.Build_OutputAppPath, Path.GetFileName(decApkDir)) + "signed.apk";
|
||||
outputFile = Path.Combine(Settings.Default.Build_OutputAppPath, Path.GetFileName(decApkDir)) + " signed.apk";
|
||||
}
|
||||
|
||||
if (File.Exists(outputFile))
|
||||
|
||||
@@ -101,5 +101,15 @@ namespace APKToolGUI.Handlers
|
||||
main.ToLog(ApktoolEventType.Error, Language.ErrorSelectedFileNotExist);
|
||||
}
|
||||
}
|
||||
|
||||
internal void decOutOpenDirBtn_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (Directory.Exists(main.textBox_DECODE_OutputDirectory.Text))
|
||||
Process.Start("explorer.exe", main.textBox_DECODE_OutputDirectory.Text);
|
||||
else
|
||||
{
|
||||
main.ToLog(ApktoolEventType.Error, Language.ErrorSelectedOutputFolderNotExist);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// Можно задать все значения или принять номер построения и номер редакции по умолчанию,
|
||||
// используя "*", как показано ниже:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("3.0.0.2")]
|
||||
[assembly: AssemblyFileVersion("3.0.0.2")]
|
||||
[assembly: AssemblyVersion("3.0.1.0")]
|
||||
[assembly: AssemblyFileVersion("3.0.1.0")]
|
||||
|
||||
+12
@@ -932,5 +932,17 @@ namespace APKToolGUI.Properties {
|
||||
this["IgnoreOutputDirContextMenu"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("True")]
|
||||
public bool Build_UseAapt2 {
|
||||
get {
|
||||
return ((bool)(this["Build_UseAapt2"]));
|
||||
}
|
||||
set {
|
||||
this["Build_UseAapt2"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -221,5 +221,8 @@
|
||||
<Setting Name="IgnoreOutputDirContextMenu" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="Build_UseAapt2" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">True</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
@@ -226,6 +226,9 @@
|
||||
<setting name="IgnoreOutputDirContextMenu" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="Build_UseAapt2" serializeAs="String">
|
||||
<value>True</value>
|
||||
</setting>
|
||||
</APKToolGUI.Properties.Settings>
|
||||
</userSettings>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" /></startup>
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
# APK Tool GUI
|
||||

|
||||
|
||||
[](https://github.com/AndnixSH/APKToolGUI/releases) [](https://github.com/AndnixSH/APKToolGUI/releases)
|
||||
|
||||
GUI for apktool, signapk, zipalign and baksmali utilities.
|
||||
|
||||
It is a tool for reverse engineering 3rd party, closed, binary Android apps. It can decode resources to nearly original form and rebuild them after making some modifications; it makes possible to debug smali code step by step. Also it makes working with app easier because of project-like files structure and automation of some repetitive tasks like building apk, etc.
|
||||
|
||||
# Download
|
||||
# Download links
|
||||
https://github.com/AndnixSH/APKToolGUI/releases
|
||||
|
||||
https://app.box.com/s/y0cxdzxknb98v3c90e705ltzuehjiddn
|
||||
@@ -13,7 +15,6 @@ https://app.box.com/s/y0cxdzxknb98v3c90e705ltzuehjiddn
|
||||
https://mega.nz/folder/aBxWnaSA#XMLOS9bPJgtTTd2vEjh2SQ
|
||||
|
||||
https://sbupload.com/folder/3324/APK_Tool_GUI
|
||||
|
||||
# Requirements
|
||||
- Windows 7 and above
|
||||
- JDK/JRE 8 and above. Highly recommended to use 64-bit version of Java if your system is 64-bit
|
||||
|
||||
@@ -1,3 +1,13 @@
|
||||
3.0.1.0
|
||||
- Fix filename to signed APK
|
||||
- Fix minimum API changer
|
||||
- Added button to open decompile project output folder
|
||||
- Added "use aapt2"
|
||||
|
||||
3.0.0.2
|
||||
- Fix APK input for decompilation
|
||||
- Save log in temp folder
|
||||
|
||||
3.0.0.1
|
||||
- Show changelog on update prompt
|
||||
- Implement unsigned APK creation after compile. Totally forgotten it
|
||||
|
||||
Reference in New Issue
Block a user