-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256 RSL 2.5 + Upgraded Extract APK from device to Extract APP to Desktop. RSL will now automatically extract the APK file, then extract the obb if there is any for the selected app, then it will compress both into a zip file and place it on the desktop so users can share their apps without issue. + Added automatic detection of apps that are more updated than the database user is connecting to, and if they are a pop up will ask if user wants to share the app. = Fixed issue where copying a folder containing an obb folder via drag and drop would cause the containing folder to be copied to the obb folder as well. = Changelog.txt now only contains the 3 most recent updates including the most current, the older changelogs can be found in the ChangelogHistory text file. HFP -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmEFcMEACgkQx/Rql1Vo czdoWA//cbngmK/it4fy6Hy/5JMGubJvCb0Ar+KY0UCO5FR60Q+ADCrkhPDEaWif xnM+h4CLqyHUD0NipUxsjZ4j25VRMA20eTy3jiLKSZKq6P6KD+oRv0Tx3vTEs61U wJdQsWK81cC9+BnhCBDuWpDJ/nCqO9ZJBYdKX0+KuYTVZwaaZSfMXD1dgQsrCQCq zU5kgrsl+LDUJknnpfda521pbACgHlZ/Cb3bztqgnSviF38jFuYsJe7hJVjsINYz j6HtmT+vn3Rxhk6uRTtUNhM1YVvuKzsZtUNvqd7cjT3FJXWuuoP8mgdauSahVnpQ jMLu/dMLx0PkRXox/D8/69tDA1dxNZozXvws0OQfmNlzLfLGPZdVSWVjfU+P0feA hMZiVICyAAJPnzfNAfVq2yDpU5wJbAhj3qG+Lj9Ox4dpmn7AUrjoUCFZxhZIZJi1 KKKz+7Q9ZDkcFODCUzZAdrI0MP7MNrsfPl8jxSCLYFe6LUIOfTAakBkxOY9x02lF x08jfbpAsJHU3Wm8bruk+nkB+65J5kqsLkJk2n4yrkW3QtIo9xul/z9vgZKo75S6 LkPCpNo2w5gtx7+8Jv65Z/BlueUVmVWUHhQ2gHRkXenkg3McEZpqwKInqQSZkHpZ USckVtW+iteVVR0yf+hFPRGp+Shz6/GIn9YnwVQCT2DK+ih9zD4= =0bPq -----END PGP SIGNATURE-----
This commit is contained in:
25
ADB.cs
25
ADB.cs
@@ -26,7 +26,7 @@ namespace AndroidSideloader
|
||||
{
|
||||
command = $" -s {DeviceID} {command}";
|
||||
}
|
||||
if (!command.Contains("dumpsys") && !command.Contains("shell pm list packages") && !command.Contains("KEYCODE_WAKEUP"))
|
||||
if (!command.Contains("dumpsys") && !command.Contains("shell pm list packages") && !command.Contains("KEYCODE_WAKEUP"))
|
||||
{
|
||||
|
||||
string logcmd = command;
|
||||
@@ -66,7 +66,7 @@ namespace AndroidSideloader
|
||||
}
|
||||
}
|
||||
else
|
||||
adb.WaitForExit();
|
||||
adb.WaitForExit();
|
||||
if (error.Contains("ADB_VENDOR_KEYS"))
|
||||
{
|
||||
FlexibleMessageBox.Show("Please check inside your headset for ADB DEBUGGING prompt, check box to \"Always allow from this computer.\" and hit OK.");
|
||||
@@ -76,8 +76,8 @@ namespace AndroidSideloader
|
||||
{
|
||||
FlexibleMessageBox.Show("There is not enough room on your device to install this package. Please clear AT LEAST 2x the amount of the app you are trying to install.");
|
||||
}
|
||||
if (!output.Contains("version") && !output.Contains("KEYCODE_WAKEUP") && !output.Contains("KEYCODE_WAKEUP") && !output.Contains("Filesystem") && !output.Contains("package:") && !output.Equals(null))
|
||||
Logger.Log(output);
|
||||
if (!output.Contains("version") && !output.Contains("KEYCODE_WAKEUP") && !output.Contains("KEYCODE_WAKEUP") && !output.Contains("Filesystem") && !output.Contains("package:") && !output.Equals(null))
|
||||
Logger.Log(output);
|
||||
Logger.Log(error);
|
||||
return new ProcessOutput(output, error);
|
||||
}
|
||||
@@ -117,7 +117,7 @@ namespace AndroidSideloader
|
||||
catch { }
|
||||
if (command.Contains("connect"))
|
||||
{
|
||||
bool graceful = adb.WaitForExit(3000);
|
||||
bool graceful = adb.WaitForExit(3000);
|
||||
if (!graceful)
|
||||
{
|
||||
adb.Kill();
|
||||
@@ -134,7 +134,7 @@ namespace AndroidSideloader
|
||||
Logger.Log(error);
|
||||
return new ProcessOutput(output, error);
|
||||
}
|
||||
public static ProcessOutput RunCommandToString(string result, string path)
|
||||
public static ProcessOutput RunCommandToString(string result, string path = "")
|
||||
{
|
||||
string command = result;
|
||||
Properties.Settings.Default.ADBFolder = adbFolderPath;
|
||||
@@ -145,7 +145,7 @@ namespace AndroidSideloader
|
||||
if (logcmd.Contains(Environment.CurrentDirectory))
|
||||
logcmd = logcmd.Replace($"{Environment.CurrentDirectory}", $"CurrentDirectory");
|
||||
Logger.Log($"Running command: {logcmd}");
|
||||
adb.StartInfo.FileName = @"C:\windows\system32\cmd.exe";
|
||||
adb.StartInfo.FileName = "cmd.exe";
|
||||
adb.StartInfo.Arguments = command;
|
||||
adb.StartInfo.RedirectStandardError = true;
|
||||
adb.StartInfo.RedirectStandardInput = true;
|
||||
@@ -338,6 +338,7 @@ namespace AndroidSideloader
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -380,7 +381,7 @@ namespace AndroidSideloader
|
||||
else
|
||||
{
|
||||
DialogResult dialogResult = FlexibleMessageBox.Show($"No savedata found! Continue with the uninstall!", "None Found", MessageBoxButtons.OK);
|
||||
if (dialogResult == DialogResult.Cancel)
|
||||
if (dialogResult == DialogResult.Cancel)
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
@@ -427,8 +428,8 @@ namespace AndroidSideloader
|
||||
ret += ADB.RunAdbCommandToString($"push \"{Properties.Settings.Default.MainDir}\\config.json\" /sdcard/android/data/{packagename}/private/config.json");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Program.form.ChangeTitle("");
|
||||
return ret;
|
||||
}
|
||||
@@ -436,7 +437,9 @@ namespace AndroidSideloader
|
||||
public static ProcessOutput CopyOBB(string path)
|
||||
{
|
||||
WakeDevice();
|
||||
if (Path.GetDirectoryName(path).Contains(".") && !Path.GetDirectoryName(path).Contains("_data") || path.Contains("."))
|
||||
|
||||
string folder = Path.GetFileName(path);
|
||||
if (!folder.Contains("+") && !folder.Contains("_") && folder.Contains("."))
|
||||
{
|
||||
return RunAdbCommandToString($"push \"{path}\" \"/sdcard/Android/obb\"");
|
||||
}
|
||||
|
||||
@@ -260,6 +260,7 @@
|
||||
<ItemGroup>
|
||||
<Content Include="changelog.txt" />
|
||||
<Content Include="icon.ico" />
|
||||
<Content Include="ChangelogHistory.txt" />
|
||||
<None Include="Resources\battery11.png" />
|
||||
<None Include="Resources\battery.png" />
|
||||
<None Include="Resources\battery1.png" />
|
||||
|
||||
1361
ChangelogHistory.txt
Normal file
1361
ChangelogHistory.txt
Normal file
File diff suppressed because it is too large
Load Diff
30
MainForm.Designer.cs
generated
30
MainForm.Designer.cs
generated
@@ -114,7 +114,7 @@
|
||||
this.m_combo.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
|
||||
this.m_combo.Location = new System.Drawing.Point(227, 8);
|
||||
this.m_combo.Name = "m_combo";
|
||||
this.m_combo.Size = new System.Drawing.Size(353, 24);
|
||||
this.m_combo.Size = new System.Drawing.Size(353, 26);
|
||||
this.m_combo.TabIndex = 0;
|
||||
this.m_combo.Text = "Select an app to uninstall...";
|
||||
//
|
||||
@@ -239,7 +239,7 @@
|
||||
this.getApkButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
|
||||
this.getApkButton.Size = new System.Drawing.Size(218, 28);
|
||||
this.getApkButton.TabIndex = 2;
|
||||
this.getApkButton.Text = "Extract Apk from device";
|
||||
this.getApkButton.Text = "Extract App to Desktop";
|
||||
this.getApkButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.getApkButton.UseVisualStyleBackColor = false;
|
||||
this.getApkButton.Click += new System.EventHandler(this.getApkButton_Click);
|
||||
@@ -370,7 +370,7 @@
|
||||
this.BatteryLbl.BackColor = System.Drawing.Color.Transparent;
|
||||
this.BatteryLbl.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.2F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.BatteryLbl.ForeColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
this.BatteryLbl.Location = new System.Drawing.Point(157, 580);
|
||||
this.BatteryLbl.Location = new System.Drawing.Point(156, 580);
|
||||
this.BatteryLbl.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.BatteryLbl.Name = "BatteryLbl";
|
||||
this.BatteryLbl.Size = new System.Drawing.Size(47, 17);
|
||||
@@ -737,7 +737,7 @@
|
||||
this.diskLabel.Location = new System.Drawing.Point(7, 622);
|
||||
this.diskLabel.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.diskLabel.Name = "diskLabel";
|
||||
this.diskLabel.Size = new System.Drawing.Size(74, 17);
|
||||
this.diskLabel.Size = new System.Drawing.Size(77, 18);
|
||||
this.diskLabel.TabIndex = 7;
|
||||
this.diskLabel.Text = "Disk Label";
|
||||
//
|
||||
@@ -751,7 +751,7 @@
|
||||
this.speedLabel.Location = new System.Drawing.Point(7, 680);
|
||||
this.speedLabel.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.speedLabel.Name = "speedLabel";
|
||||
this.speedLabel.Size = new System.Drawing.Size(141, 17);
|
||||
this.speedLabel.Size = new System.Drawing.Size(149, 18);
|
||||
this.speedLabel.TabIndex = 76;
|
||||
this.speedLabel.Text = "DLS: Speed in MBPS";
|
||||
//
|
||||
@@ -765,7 +765,7 @@
|
||||
this.etaLabel.Location = new System.Drawing.Point(7, 699);
|
||||
this.etaLabel.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.etaLabel.Name = "etaLabel";
|
||||
this.etaLabel.Size = new System.Drawing.Size(139, 17);
|
||||
this.etaLabel.Size = new System.Drawing.Size(148, 18);
|
||||
this.etaLabel.TabIndex = 75;
|
||||
this.etaLabel.Text = "ETA: HH:MM:SS Left";
|
||||
//
|
||||
@@ -799,11 +799,11 @@
|
||||
this.gamesQueListBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.gamesQueListBox.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
|
||||
this.gamesQueListBox.FormattingEnabled = true;
|
||||
this.gamesQueListBox.ItemHeight = 16;
|
||||
this.gamesQueListBox.ItemHeight = 18;
|
||||
this.gamesQueListBox.Location = new System.Drawing.Point(601, 475);
|
||||
this.gamesQueListBox.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.gamesQueListBox.Name = "gamesQueListBox";
|
||||
this.gamesQueListBox.Size = new System.Drawing.Size(369, 162);
|
||||
this.gamesQueListBox.Size = new System.Drawing.Size(369, 128);
|
||||
this.gamesQueListBox.TabIndex = 9;
|
||||
this.gamesQueListBox.MouseClick += new System.Windows.Forms.MouseEventHandler(this.gamesQueListBox_MouseClick);
|
||||
//
|
||||
@@ -820,7 +820,7 @@
|
||||
this.devicesComboBox.Location = new System.Drawing.Point(227, 39);
|
||||
this.devicesComboBox.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.devicesComboBox.Name = "devicesComboBox";
|
||||
this.devicesComboBox.Size = new System.Drawing.Size(161, 24);
|
||||
this.devicesComboBox.Size = new System.Drawing.Size(161, 26);
|
||||
this.devicesComboBox.TabIndex = 1;
|
||||
this.devicesComboBox.Text = "Select your device";
|
||||
this.devicesComboBox.SelectedIndexChanged += new System.EventHandler(this.devicesComboBox_SelectedIndexChanged);
|
||||
@@ -838,7 +838,7 @@
|
||||
this.remotesList.Location = new System.Drawing.Point(527, 39);
|
||||
this.remotesList.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.remotesList.Name = "remotesList";
|
||||
this.remotesList.Size = new System.Drawing.Size(53, 24);
|
||||
this.remotesList.Size = new System.Drawing.Size(53, 26);
|
||||
this.remotesList.TabIndex = 3;
|
||||
this.remotesList.SelectedIndexChanged += new System.EventHandler(this.remotesList_SelectedIndexChanged);
|
||||
//
|
||||
@@ -878,7 +878,7 @@
|
||||
this.searchTextBox.MaximumSize = new System.Drawing.Size(231, 26);
|
||||
this.searchTextBox.MinimumSize = new System.Drawing.Size(231, 26);
|
||||
this.searchTextBox.Name = "searchTextBox";
|
||||
this.searchTextBox.Size = new System.Drawing.Size(231, 23);
|
||||
this.searchTextBox.Size = new System.Drawing.Size(231, 24);
|
||||
this.searchTextBox.TabIndex = 5;
|
||||
this.searchTextBox.Text = "Search";
|
||||
this.searchTextBox.Visible = false;
|
||||
@@ -895,7 +895,7 @@
|
||||
this.gamesQueueLabel.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
|
||||
this.gamesQueueLabel.Location = new System.Drawing.Point(597, 601);
|
||||
this.gamesQueueLabel.Name = "gamesQueueLabel";
|
||||
this.gamesQueueLabel.Size = new System.Drawing.Size(51, 17);
|
||||
this.gamesQueueLabel.Size = new System.Drawing.Size(52, 18);
|
||||
this.gamesQueueLabel.TabIndex = 86;
|
||||
this.gamesQueueLabel.Text = "Queue";
|
||||
//
|
||||
@@ -974,7 +974,7 @@
|
||||
this.label1.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
|
||||
this.label1.Location = new System.Drawing.Point(597, 674);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(45, 17);
|
||||
this.label1.Size = new System.Drawing.Size(48, 18);
|
||||
this.label1.TabIndex = 86;
|
||||
this.label1.Text = "Notes";
|
||||
//
|
||||
@@ -1096,7 +1096,7 @@
|
||||
this.EnterInstallBox.ForeColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
this.EnterInstallBox.Location = new System.Drawing.Point(593, 7);
|
||||
this.EnterInstallBox.Name = "EnterInstallBox";
|
||||
this.EnterInstallBox.Size = new System.Drawing.Size(78, 52);
|
||||
this.EnterInstallBox.Size = new System.Drawing.Size(80, 54);
|
||||
this.EnterInstallBox.TabIndex = 93;
|
||||
this.EnterInstallBox.Text = " Install w/ \r\n Enter Key";
|
||||
this.EnterInstallBox.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
@@ -1119,7 +1119,7 @@
|
||||
this.ADBcommandbox.MaximumSize = new System.Drawing.Size(231, 26);
|
||||
this.ADBcommandbox.MinimumSize = new System.Drawing.Size(231, 26);
|
||||
this.ADBcommandbox.Name = "ADBcommandbox";
|
||||
this.ADBcommandbox.Size = new System.Drawing.Size(231, 23);
|
||||
this.ADBcommandbox.Size = new System.Drawing.Size(231, 24);
|
||||
this.ADBcommandbox.TabIndex = 5;
|
||||
this.ADBcommandbox.Visible = false;
|
||||
this.ADBcommandbox.TextChanged += new System.EventHandler(this.searchTextBox_TextChanged);
|
||||
|
||||
116
MainForm.cs
116
MainForm.cs
@@ -461,17 +461,19 @@ namespace AndroidSideloader
|
||||
i++;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (devicesComboBox.Items.Count > 0)
|
||||
devicesComboBox.SelectedIndex = 0;
|
||||
battery = ADB.RunAdbCommandToString("shell dumpsys battery").Output;
|
||||
battery = Utilities.StringUtilities.RemoveEverythingBeforeFirst(battery, "level:");
|
||||
battery = Utilities.StringUtilities.RemoveEverythingAfterFirst(battery, "\n");
|
||||
battery = Utilities.StringUtilities.KeepOnlyNumbers(battery);
|
||||
BatteryLbl.Text = BatteryLbl.Text.Replace("N/A", battery);
|
||||
|
||||
if (devicesComboBox.Items.Count > 0)
|
||||
devicesComboBox.SelectedIndex = 0;
|
||||
|
||||
return devicesComboBox.SelectedIndex;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -747,10 +749,15 @@ namespace AndroidSideloader
|
||||
return;
|
||||
}
|
||||
progressBar.Style = ProgressBarStyle.Marquee;
|
||||
|
||||
string GameName = m_combo.SelectedItem.ToString();
|
||||
string packageName = Sideloader.gameNameToPackageName(GameName);
|
||||
if (Directory.Exists($"{Properties.Settings.Default.MainDir}\\{packageName}"))
|
||||
Directory.Delete($"{Properties.Settings.Default.MainDir}\\{packageName}", true);
|
||||
|
||||
ProcessOutput output = new ProcessOutput("", "");
|
||||
ChangeTitle("Extracting APK....");
|
||||
|
||||
Directory.CreateDirectory($"{Properties.Settings.Default.MainDir}\\{packageName}");
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
output = Sideloader.getApk(GameName);
|
||||
@@ -760,10 +767,33 @@ namespace AndroidSideloader
|
||||
|
||||
while (t1.IsAlive)
|
||||
await Task.Delay(100);
|
||||
ChangeTitle("Extracting obb if it exists....");
|
||||
Thread t2 = new Thread(() =>
|
||||
{
|
||||
output += ADB.RunAdbCommandToString($"pull \"/sdcard/Android/obb/{packageName}\" \"{Properties.Settings.Default.MainDir}\\{packageName}\"");
|
||||
});
|
||||
t2.IsBackground = true;
|
||||
t2.Start();
|
||||
|
||||
while (t2.IsAlive)
|
||||
await Task.Delay(100);
|
||||
ChangeTitle("Zipping extracted application...");
|
||||
string cmd = $"7z a {packageName}.zip {packageName}";
|
||||
string path = $"{Properties.Settings.Default.MainDir}\\7z.exe";
|
||||
Thread t3 = new Thread(() =>
|
||||
{
|
||||
ADB.RunCommandToString(cmd, path);
|
||||
});
|
||||
t3.IsBackground = true;
|
||||
t3.Start();
|
||||
|
||||
while (t3.IsAlive)
|
||||
await Task.Delay(100);
|
||||
File.Move($"{Properties.Settings.Default.MainDir}\\{packageName}.zip", $"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\{GameName}.zip");
|
||||
FlexibleMessageBox.Show($"The app has been zipped and placed on your desktop as\n\n{GameName}.zip\n\nPlease upload this file to a free file hosting service like\n https://1fichier.com or https://mega.nz and share the link with a moderator.");
|
||||
Directory.Delete($"{Properties.Settings.Default.MainDir}\\{packageName}", true);
|
||||
progressBar.Style = ProgressBarStyle.Continuous;
|
||||
ChangeTitle("APK Extracted to " + Properties.Settings.Default.MainDir + ". Opening folder now.");
|
||||
Process.Start("explorer.exe", Properties.Settings.Default.MainDir);
|
||||
ShowPrcOutput(output);
|
||||
ChangeTitle("");
|
||||
}
|
||||
|
||||
private async void uninstallAppButton_Click(object sender, EventArgs e)
|
||||
@@ -1006,7 +1036,7 @@ namespace AndroidSideloader
|
||||
{
|
||||
DragDropLbl.Visible = false;
|
||||
}
|
||||
private void initListView()
|
||||
private async void initListView()
|
||||
{
|
||||
gamesListView.Items.Clear();
|
||||
gamesListView.Columns.Clear();
|
||||
@@ -1068,6 +1098,74 @@ namespace AndroidSideloader
|
||||
else
|
||||
Game.BackColor = Color.FromArgb(102, 77, 0);
|
||||
}
|
||||
bool dontget = false;
|
||||
if (installedVersionInt > cloudVersionInt)
|
||||
{
|
||||
string RlsName = Sideloader.PackageNametoGameName(packagename);
|
||||
string GameName = Sideloader.gameNameToSimpleName(RlsName);
|
||||
if (File.Exists($"{Environment.CurrentDirectory}\\nouns\\blacklist.txt"))
|
||||
{
|
||||
string[] blacklist = File.ReadAllLines($"{Environment.CurrentDirectory}\\nouns\\blacklist.txt");
|
||||
|
||||
foreach (string blacklistpckg in blacklist)
|
||||
{
|
||||
if (packagename.Contains(blacklistpckg))
|
||||
{
|
||||
dontget = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!GameName.Contains("Beat Saber") && !dontget)
|
||||
{
|
||||
DialogResult dialogResult = FlexibleMessageBox.Show($"It seems you have a newer version of:\n\n{GameName}\n\nPlease consider sharing the updated files with us.\nThis is the only way to keep the apps up to date for everyone.\nWould you like to share the files with us?\n\nNOTE: Rookie will only extract the APK/OBB which contain NO personal information whatsoever.", "Share clean files?", MessageBoxButtons.YesNo);
|
||||
if (dialogResult == DialogResult.Yes)
|
||||
{
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
Sideloader.getApk(GameName);
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
|
||||
while (t1.IsAlive)
|
||||
await Task.Delay(100);
|
||||
ChangeTitle("Extracting obb if it exists....");
|
||||
Thread t2 = new Thread(() =>
|
||||
{
|
||||
ADB.RunAdbCommandToString($"pull \"/sdcard/Android/obb/{packagename}\" \"{Properties.Settings.Default.MainDir}\\{packagename}\"");
|
||||
});
|
||||
t2.IsBackground = true;
|
||||
t2.Start();
|
||||
|
||||
while (t2.IsAlive)
|
||||
await Task.Delay(100);
|
||||
ChangeTitle("Zipping extracted application...");
|
||||
string cmd = $"7z a {packagename}.zip {packagename}";
|
||||
string path = $"{Properties.Settings.Default.MainDir}\\7z.exe";
|
||||
|
||||
Thread t3 = new Thread(() =>
|
||||
{
|
||||
ADB.RunCommandToString(cmd, path);
|
||||
if (File.Exists($"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\{GameName}.zip"))
|
||||
File.Delete($"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\{GameName}.zip");
|
||||
File.Move($"{Properties.Settings.Default.MainDir}\\{packagename}.zip", $"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\{GameName}.zip");
|
||||
FlexibleMessageBox.Show($"The app has been zipped and placed on your desktop as\n\n{GameName}.zip\n\nPlease upload this file to a free file hosting service like\n https://1fichier.com or https://mega.nz and share the link with a moderator.");
|
||||
Directory.Delete($"{Properties.Settings.Default.MainDir}\\{packagename}", true);
|
||||
});
|
||||
t3.IsBackground = true;
|
||||
t3.Start();
|
||||
|
||||
while (t3.IsAlive)
|
||||
await Task.Delay(100);
|
||||
|
||||
progressBar.Style = ProgressBarStyle.Continuous;
|
||||
ChangeTitle("");
|
||||
}
|
||||
else MessageBox.Show("Ok, we understand, but remember: If everyone said No then none of this would exist!\nPlease reconsider and share the files so everyone can benefit!");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -170,6 +170,7 @@ And all of them added to PATH, without ANY of them, the spoofer won't work!";
|
||||
//Extracts apk from device, saves it by package name to sideloader folder
|
||||
public static ProcessOutput getApk(string GameName)
|
||||
{
|
||||
|
||||
ADB.WakeDevice();
|
||||
ProcessOutput output = new ProcessOutput("", "");
|
||||
|
||||
@@ -185,13 +186,12 @@ And all of them added to PATH, without ANY of them, the spoofer won't work!";
|
||||
|
||||
output += ADB.RunAdbCommandToString("pull " + apkPath); //pull apk
|
||||
|
||||
if (Directory.Exists($"{Properties.Settings.Default.MainDir}\\{packageName}"))
|
||||
Directory.Delete($"{Properties.Settings.Default.MainDir}\\{packageName}", true);
|
||||
|
||||
if (File.Exists(Properties.Settings.Default.MainDir + "\\" + packageName + ".apk"))
|
||||
File.Delete(Properties.Settings.Default.MainDir + "\\" + packageName + ".apk");
|
||||
|
||||
MessageBox.Show("APK is named" + packageName + ".apk. Opening containing folder now.");
|
||||
File.Move(Properties.Settings.Default.ADBFolder + "\\base.apk", Environment.CurrentDirectory + "\\" + packageName + ".apk");
|
||||
Directory.CreateDirectory($"{Properties.Settings.Default.MainDir}\\{packageName}");
|
||||
|
||||
File.Move($"{Properties.Settings.Default.ADBFolder}\\base.apk", $"{Properties.Settings.Default.MainDir}\\{packageName}\\{packageName}.apk");
|
||||
return output;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace AndroidSideloader
|
||||
private static string RawGitHubUrl;
|
||||
private static string GitHubUrl;
|
||||
|
||||
static readonly public string LocalVersion = "2.4.8";
|
||||
static readonly public string LocalVersion = "2.5";
|
||||
public static string currentVersion = string.Empty;
|
||||
public static string changelog = string.Empty;
|
||||
|
||||
|
||||
1318
changelog.txt
1318
changelog.txt
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user