Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
72a71f3b48 | ||
|
|
842a9d2e63 | ||
|
|
b06bd80f20 | ||
|
|
f6f0c5064c | ||
|
|
978dc671ef | ||
|
|
bcd61f1596 | ||
|
|
82f858b678 | ||
|
|
fa3b795695 | ||
|
|
6a34deeede | ||
|
|
266c242199 | ||
|
|
366627085f | ||
|
|
bfe2ad2aad | ||
|
|
cebd440de2 | ||
|
|
86bbb2d929 | ||
|
|
684408e8f2 |
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="packages\Costura.Fody.4.1.0\build\Costura.Fody.props" Condition="Exists('packages\Costura.Fody.4.1.0\build\Costura.Fody.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
@@ -12,6 +13,8 @@
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
@@ -33,6 +36,12 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Costura, Version=4.1.0.0, Culture=neutral, PublicKeyToken=9919ef960d84173d, processorArchitecture=MSIL">
|
||||
<HintPath>packages\Costura.Fody.4.1.0\lib\net40\Costura.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SergeUtils">
|
||||
<HintPath>.\SergeUtils.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
@@ -75,6 +84,7 @@
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
@@ -89,4 +99,12 @@
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="packages\Fody.6.0.0\build\Fody.targets" Condition="Exists('packages\Fody.6.0.0\build\Fody.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('packages\Fody.6.0.0\build\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Fody.6.0.0\build\Fody.targets'))" />
|
||||
<Error Condition="!Exists('packages\Costura.Fody.4.1.0\build\Costura.Fody.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Costura.Fody.4.1.0\build\Costura.Fody.props'))" />
|
||||
</Target>
|
||||
</Project>
|
||||
3
FodyWeavers.xml
Normal file
3
FodyWeavers.xml
Normal file
@@ -0,0 +1,3 @@
|
||||
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
|
||||
<Costura />
|
||||
</Weavers>
|
||||
111
FodyWeavers.xsd
Normal file
111
FodyWeavers.xsd
Normal file
@@ -0,0 +1,111 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<!-- This file was generated by Fody. Manual changes to this file will be lost when your project is rebuilt. -->
|
||||
<xs:element name="Weavers">
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element name="Costura" minOccurs="0" maxOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="ExcludeAssemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="IncludeAssemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="Unmanaged32Assemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of unmanaged 32 bit assembly names to include, delimited with line breaks.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="Unmanaged64Assemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of unmanaged 64 bit assembly names to include, delimited with line breaks.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="PreloadOrder" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The order of preloaded assemblies, delimited with line breaks.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
<xs:attribute name="CreateTemporaryAssemblies" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IncludeDebugSymbols" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Controls if .pdbs for reference assemblies are also embedded.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DisableCompression" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DisableCleanup" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LoadAtModuleInit" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IgnoreSatelliteAssemblies" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ExcludeAssemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with |</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IncludeAssemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Unmanaged32Assemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of unmanaged 32 bit assembly names to include, delimited with |.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Unmanaged64Assemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of unmanaged 64 bit assembly names to include, delimited with |.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="PreloadOrder" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The order of preloaded assemblies, delimited with |.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
<xs:attribute name="VerifyAssembly" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="VerifyIgnoreCodes" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A comma-separated list of error codes that can be safely ignored in assembly verification.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="GenerateXsd" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>'false' to turn off automatic generation of the XML Schema file.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
170
Form1.Designer.cs
generated
170
Form1.Designer.cs
generated
@@ -28,18 +28,30 @@
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.m_combo = new SergeUtils.EasyCompletionComboBox();
|
||||
this.startsideloadbutton = new System.Windows.Forms.Button();
|
||||
this.devicesbutton = new System.Windows.Forms.Button();
|
||||
this.instructionsbutton = new System.Windows.Forms.Button();
|
||||
this.obbcopybutton = new System.Windows.Forms.Button();
|
||||
this.progressBar1 = new System.Windows.Forms.ProgressBar();
|
||||
this.flashfirmwarebutton = new System.Windows.Forms.Button();
|
||||
this.backupbutton = new System.Windows.Forms.Button();
|
||||
this.debugbutton = new System.Windows.Forms.Button();
|
||||
this.restorebutton = new System.Windows.Forms.Button();
|
||||
this.customadbcmdbutton = new System.Windows.Forms.Button();
|
||||
this.ListApps = new System.Windows.Forms.Button();
|
||||
this.getApkButton = new System.Windows.Forms.Button();
|
||||
this.listApkPermsButton = new System.Windows.Forms.Button();
|
||||
this.changePermsBtn = new System.Windows.Forms.Button();
|
||||
this.launchPackageTextBox = new System.Windows.Forms.TextBox();
|
||||
this.launchApkButton = new System.Windows.Forms.Button();
|
||||
this.uninstallAppButton = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// m_combo
|
||||
//
|
||||
this.m_combo.Location = new System.Drawing.Point(12, 134);
|
||||
this.m_combo.Name = "m_combo";
|
||||
this.m_combo.Size = new System.Drawing.Size(426, 21);
|
||||
this.m_combo.TabIndex = 16;
|
||||
//
|
||||
// startsideloadbutton
|
||||
//
|
||||
this.startsideloadbutton.Location = new System.Drawing.Point(100, 13);
|
||||
@@ -55,16 +67,16 @@
|
||||
this.devicesbutton.Location = new System.Drawing.Point(12, 12);
|
||||
this.devicesbutton.Name = "devicesbutton";
|
||||
this.devicesbutton.Size = new System.Drawing.Size(82, 34);
|
||||
this.devicesbutton.TabIndex = 3;
|
||||
this.devicesbutton.TabIndex = 1;
|
||||
this.devicesbutton.Text = "Adb devices";
|
||||
this.devicesbutton.UseVisualStyleBackColor = true;
|
||||
this.devicesbutton.Click += new System.EventHandler(this.devicesbutton_Click);
|
||||
//
|
||||
// instructionsbutton
|
||||
//
|
||||
this.instructionsbutton.Location = new System.Drawing.Point(281, 12);
|
||||
this.instructionsbutton.Location = new System.Drawing.Point(282, 12);
|
||||
this.instructionsbutton.Name = "instructionsbutton";
|
||||
this.instructionsbutton.Size = new System.Drawing.Size(88, 34);
|
||||
this.instructionsbutton.Size = new System.Drawing.Size(87, 34);
|
||||
this.instructionsbutton.TabIndex = 4;
|
||||
this.instructionsbutton.Text = "Instructions";
|
||||
this.instructionsbutton.UseVisualStyleBackColor = true;
|
||||
@@ -74,90 +86,137 @@
|
||||
//
|
||||
this.obbcopybutton.Location = new System.Drawing.Point(193, 12);
|
||||
this.obbcopybutton.Name = "obbcopybutton";
|
||||
this.obbcopybutton.Size = new System.Drawing.Size(82, 34);
|
||||
this.obbcopybutton.TabIndex = 5;
|
||||
this.obbcopybutton.Size = new System.Drawing.Size(87, 34);
|
||||
this.obbcopybutton.TabIndex = 3;
|
||||
this.obbcopybutton.Text = "Copy Obb";
|
||||
this.obbcopybutton.UseVisualStyleBackColor = true;
|
||||
this.obbcopybutton.Click += new System.EventHandler(this.obbcopybutton_Click);
|
||||
//
|
||||
// progressBar1
|
||||
//
|
||||
this.progressBar1.Location = new System.Drawing.Point(13, 92);
|
||||
this.progressBar1.Name = "progressBar1";
|
||||
this.progressBar1.Size = new System.Drawing.Size(356, 20);
|
||||
this.progressBar1.TabIndex = 7;
|
||||
//
|
||||
// flashfirmwarebutton
|
||||
//
|
||||
this.flashfirmwarebutton.Location = new System.Drawing.Point(13, 52);
|
||||
this.flashfirmwarebutton.Name = "flashfirmwarebutton";
|
||||
this.flashfirmwarebutton.Size = new System.Drawing.Size(82, 34);
|
||||
this.flashfirmwarebutton.TabIndex = 8;
|
||||
this.flashfirmwarebutton.Text = "Flash Firmware";
|
||||
this.flashfirmwarebutton.UseVisualStyleBackColor = true;
|
||||
this.flashfirmwarebutton.Click += new System.EventHandler(this.flashfirmwarebutton_Click);
|
||||
//
|
||||
// backupbutton
|
||||
//
|
||||
this.backupbutton.Location = new System.Drawing.Point(100, 52);
|
||||
this.backupbutton.Location = new System.Drawing.Point(13, 52);
|
||||
this.backupbutton.Name = "backupbutton";
|
||||
this.backupbutton.Size = new System.Drawing.Size(87, 34);
|
||||
this.backupbutton.TabIndex = 9;
|
||||
this.backupbutton.Size = new System.Drawing.Size(81, 34);
|
||||
this.backupbutton.TabIndex = 5;
|
||||
this.backupbutton.Text = "Backup Gamedata";
|
||||
this.backupbutton.UseVisualStyleBackColor = true;
|
||||
this.backupbutton.Click += new System.EventHandler(this.backupbutton_Click);
|
||||
//
|
||||
// debugbutton
|
||||
//
|
||||
this.debugbutton.Location = new System.Drawing.Point(-4, 107);
|
||||
this.debugbutton.Name = "debugbutton";
|
||||
this.debugbutton.Size = new System.Drawing.Size(75, 23);
|
||||
this.debugbutton.TabIndex = 10;
|
||||
this.debugbutton.Text = "button1";
|
||||
this.debugbutton.UseVisualStyleBackColor = true;
|
||||
this.debugbutton.Click += new System.EventHandler(this.debugbutton_Click);
|
||||
//
|
||||
// restorebutton
|
||||
//
|
||||
this.restorebutton.Location = new System.Drawing.Point(193, 52);
|
||||
this.restorebutton.Location = new System.Drawing.Point(100, 52);
|
||||
this.restorebutton.Name = "restorebutton";
|
||||
this.restorebutton.Size = new System.Drawing.Size(82, 34);
|
||||
this.restorebutton.TabIndex = 11;
|
||||
this.restorebutton.Size = new System.Drawing.Size(87, 34);
|
||||
this.restorebutton.TabIndex = 6;
|
||||
this.restorebutton.Text = "Restore Gamedata";
|
||||
this.restorebutton.UseVisualStyleBackColor = true;
|
||||
this.restorebutton.Click += new System.EventHandler(this.restorebutton_Click);
|
||||
//
|
||||
// customadbcmdbutton
|
||||
//
|
||||
this.customadbcmdbutton.Location = new System.Drawing.Point(281, 52);
|
||||
this.customadbcmdbutton.Location = new System.Drawing.Point(193, 52);
|
||||
this.customadbcmdbutton.Name = "customadbcmdbutton";
|
||||
this.customadbcmdbutton.Size = new System.Drawing.Size(88, 34);
|
||||
this.customadbcmdbutton.TabIndex = 12;
|
||||
this.customadbcmdbutton.Size = new System.Drawing.Size(87, 34);
|
||||
this.customadbcmdbutton.TabIndex = 7;
|
||||
this.customadbcmdbutton.Text = "Run Adb Command";
|
||||
this.customadbcmdbutton.UseVisualStyleBackColor = true;
|
||||
this.customadbcmdbutton.Click += new System.EventHandler(this.customadbcmdbutton_Click);
|
||||
//
|
||||
// ListApps
|
||||
//
|
||||
this.ListApps.Location = new System.Drawing.Point(12, 92);
|
||||
this.ListApps.Name = "ListApps";
|
||||
this.ListApps.Size = new System.Drawing.Size(82, 34);
|
||||
this.ListApps.TabIndex = 8;
|
||||
this.ListApps.Text = "Refresh Apps";
|
||||
this.ListApps.UseVisualStyleBackColor = true;
|
||||
this.ListApps.Click += new System.EventHandler(this.ListApps_Click);
|
||||
//
|
||||
// getApkButton
|
||||
//
|
||||
this.getApkButton.Location = new System.Drawing.Point(100, 92);
|
||||
this.getApkButton.Name = "getApkButton";
|
||||
this.getApkButton.Size = new System.Drawing.Size(87, 34);
|
||||
this.getApkButton.TabIndex = 9;
|
||||
this.getApkButton.Text = "Get Apk";
|
||||
this.getApkButton.UseVisualStyleBackColor = true;
|
||||
this.getApkButton.Click += new System.EventHandler(this.getApkButton_Click);
|
||||
//
|
||||
// listApkPermsButton
|
||||
//
|
||||
this.listApkPermsButton.Location = new System.Drawing.Point(193, 92);
|
||||
this.listApkPermsButton.Name = "listApkPermsButton";
|
||||
this.listApkPermsButton.Size = new System.Drawing.Size(87, 34);
|
||||
this.listApkPermsButton.TabIndex = 10;
|
||||
this.listApkPermsButton.Text = "List Apk Perms";
|
||||
this.listApkPermsButton.UseVisualStyleBackColor = true;
|
||||
this.listApkPermsButton.Click += new System.EventHandler(this.listApkPermsButton_Click);
|
||||
//
|
||||
// changePermsBtn
|
||||
//
|
||||
this.changePermsBtn.Location = new System.Drawing.Point(282, 92);
|
||||
this.changePermsBtn.Name = "changePermsBtn";
|
||||
this.changePermsBtn.Size = new System.Drawing.Size(87, 34);
|
||||
this.changePermsBtn.TabIndex = 11;
|
||||
this.changePermsBtn.Text = "Change Permissions";
|
||||
this.changePermsBtn.UseVisualStyleBackColor = true;
|
||||
this.changePermsBtn.Click += new System.EventHandler(this.changePermsBtn_Click);
|
||||
//
|
||||
// launchPackageTextBox
|
||||
//
|
||||
this.launchPackageTextBox.Location = new System.Drawing.Point(446, 134);
|
||||
this.launchPackageTextBox.Name = "launchPackageTextBox";
|
||||
this.launchPackageTextBox.Size = new System.Drawing.Size(192, 20);
|
||||
this.launchPackageTextBox.TabIndex = 15;
|
||||
this.launchPackageTextBox.Text = "de.eye_interactive.atvl.settings";
|
||||
//
|
||||
// launchApkButton
|
||||
//
|
||||
this.launchApkButton.Location = new System.Drawing.Point(446, 161);
|
||||
this.launchApkButton.Name = "launchApkButton";
|
||||
this.launchApkButton.Size = new System.Drawing.Size(192, 20);
|
||||
this.launchApkButton.TabIndex = 13;
|
||||
this.launchApkButton.Text = "Launch Apk By Package Name";
|
||||
this.launchApkButton.UseVisualStyleBackColor = true;
|
||||
this.launchApkButton.Click += new System.EventHandler(this.launchApkButton_Click);
|
||||
//
|
||||
// uninstallAppButton
|
||||
//
|
||||
this.uninstallAppButton.Location = new System.Drawing.Point(375, 92);
|
||||
this.uninstallAppButton.Name = "uninstallAppButton";
|
||||
this.uninstallAppButton.Size = new System.Drawing.Size(64, 34);
|
||||
this.uninstallAppButton.TabIndex = 12;
|
||||
this.uninstallAppButton.Text = "Uninstall app";
|
||||
this.uninstallAppButton.UseVisualStyleBackColor = true;
|
||||
this.uninstallAppButton.Click += new System.EventHandler(this.uninstallAppButton_Click);
|
||||
//
|
||||
// Form1
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(383, 127);
|
||||
this.ClientSize = new System.Drawing.Size(650, 411);
|
||||
this.Controls.Add(this.uninstallAppButton);
|
||||
this.Controls.Add(this.launchApkButton);
|
||||
this.Controls.Add(this.launchPackageTextBox);
|
||||
this.Controls.Add(this.changePermsBtn);
|
||||
this.Controls.Add(this.listApkPermsButton);
|
||||
this.Controls.Add(this.getApkButton);
|
||||
this.Controls.Add(this.ListApps);
|
||||
this.Controls.Add(this.customadbcmdbutton);
|
||||
this.Controls.Add(this.restorebutton);
|
||||
this.Controls.Add(this.debugbutton);
|
||||
this.Controls.Add(this.m_combo);
|
||||
this.Controls.Add(this.backupbutton);
|
||||
this.Controls.Add(this.flashfirmwarebutton);
|
||||
this.Controls.Add(this.progressBar1);
|
||||
this.Controls.Add(this.obbcopybutton);
|
||||
this.Controls.Add(this.instructionsbutton);
|
||||
this.Controls.Add(this.devicesbutton);
|
||||
this.Controls.Add(this.startsideloadbutton);
|
||||
this.MaximumSize = new System.Drawing.Size(399, 166);
|
||||
this.MinimumSize = new System.Drawing.Size(399, 166);
|
||||
this.MaximumSize = new System.Drawing.Size(666, 1000);
|
||||
this.MinimumSize = new System.Drawing.Size(466, 450);
|
||||
this.Name = "Form1";
|
||||
this.Text = "Rookie SideLoader";
|
||||
this.Load += new System.EventHandler(this.Form1_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
@@ -166,12 +225,17 @@
|
||||
private System.Windows.Forms.Button devicesbutton;
|
||||
private System.Windows.Forms.Button instructionsbutton;
|
||||
private System.Windows.Forms.Button obbcopybutton;
|
||||
private System.Windows.Forms.ProgressBar progressBar1;
|
||||
private System.Windows.Forms.Button flashfirmwarebutton;
|
||||
private System.Windows.Forms.Button backupbutton;
|
||||
private System.Windows.Forms.Button debugbutton;
|
||||
private System.Windows.Forms.Button restorebutton;
|
||||
private System.Windows.Forms.Button customadbcmdbutton;
|
||||
private System.Windows.Forms.Button ListApps;
|
||||
private System.Windows.Forms.Button getApkButton;
|
||||
private System.Windows.Forms.Button listApkPermsButton;
|
||||
private System.Windows.Forms.Button changePermsBtn;
|
||||
private SergeUtils.EasyCompletionComboBox m_combo;
|
||||
private System.Windows.Forms.TextBox launchPackageTextBox;
|
||||
private System.Windows.Forms.Button launchApkButton;
|
||||
private System.Windows.Forms.Button uninstallAppButton;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
459
Form1.cs
459
Form1.cs
@@ -4,15 +4,18 @@ using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
using System.Windows;
|
||||
using System.Threading.Tasks;
|
||||
using System.Net.Http;
|
||||
using System.Reflection;
|
||||
using System.Net;
|
||||
|
||||
using SergeUtils;
|
||||
|
||||
|
||||
namespace AndroidSideloader
|
||||
{
|
||||
|
||||
|
||||
|
||||
public partial class Form1 : Form
|
||||
{
|
||||
#if DEBUG
|
||||
@@ -34,13 +37,24 @@ namespace AndroidSideloader
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void changeTitle(string txt)
|
||||
{
|
||||
if (this.InvokeRequired)
|
||||
this.Invoke(new Action(() => this.Text = txt));
|
||||
else
|
||||
this.Text = txt;
|
||||
}
|
||||
|
||||
public void runAdbCommand(string command)
|
||||
{
|
||||
progressBar1.Value = 0;
|
||||
string oldTitle = this.Text;
|
||||
changeTitle("Rookie's Sideloader | Running command " + command);
|
||||
|
||||
exit = false;
|
||||
MessageBox.Show("Action Started, may take some time...");
|
||||
|
||||
Process cmd = new Process();
|
||||
cmd.StartInfo.FileName = "cmd.exe";
|
||||
cmd.StartInfo.FileName = Environment.CurrentDirectory + "\\adb\\adb.exe";
|
||||
cmd.StartInfo.Arguments = command;
|
||||
cmd.StartInfo.RedirectStandardInput = true;
|
||||
cmd.StartInfo.RedirectStandardOutput = true;
|
||||
cmd.StartInfo.CreateNoWindow = true;
|
||||
@@ -50,37 +64,38 @@ namespace AndroidSideloader
|
||||
cmd.StandardInput.WriteLine(command);
|
||||
cmd.StandardInput.Flush();
|
||||
cmd.StandardInput.Close();
|
||||
cmd.WaitForExit();
|
||||
allText = cmd.StandardOutput.ReadToEnd();
|
||||
cmd.WaitForExit();
|
||||
|
||||
StreamWriter sw = File.AppendText(debugPath);
|
||||
sw.Write("Action name = " + command + '\n');
|
||||
sw.Write(allText);
|
||||
sw.Write("\n--------------------------------------------------------------------\n");
|
||||
sw.Flush();
|
||||
sw.Close();
|
||||
line = allText.Split('\n');
|
||||
exit = true;
|
||||
|
||||
changeTitle(oldTitle);
|
||||
}
|
||||
|
||||
|
||||
void runLoadingBar(string filePath)
|
||||
private void sideload(string path)
|
||||
{
|
||||
FileInfo fi = new FileInfo(filePath);
|
||||
//fi.Length file size in bytes
|
||||
PerformanceCounter disk = new PerformanceCounter("PhysicalDisk", "Disk Write Bytes/sec", "_total");
|
||||
|
||||
var bytes = 0f;
|
||||
progressBar1.Maximum = (int)(fi.Length / 128);
|
||||
while (exit == false)
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
bytes += disk.NextValue();
|
||||
try { progressBar1.Value = (int)(bytes); } catch { progressBar1.Maximum *= 2; }
|
||||
Thread.Sleep(1000);
|
||||
}
|
||||
progressBar1.Value = progressBar1.Maximum;
|
||||
runAdbCommand("install -r " + '"' + path + '"');
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
t1.Join();
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void startsideloadbutton_Click(object sender, EventArgs e)
|
||||
private async void startsideloadbutton_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
using (OpenFileDialog openFileDialog = new OpenFileDialog())
|
||||
{
|
||||
openFileDialog.Filter = "Android apps (*.apk)|*.apk";
|
||||
@@ -98,32 +113,18 @@ namespace AndroidSideloader
|
||||
else
|
||||
{
|
||||
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("adb.exe install -r " + '"' + path + '"');
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
await Task.Run(() => sideload(path));
|
||||
|
||||
runLoadingBar(path);
|
||||
|
||||
if (line[line.Length - 3].Contains("Success") == false)
|
||||
{
|
||||
MessageBox.Show("An error has occured, send the debug.log to rookie.lol");
|
||||
}
|
||||
else
|
||||
MessageBox.Show(line[line.Length - 3]);
|
||||
MessageBox.Show(allText);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void devicesbutton_Click(object sender, EventArgs e)
|
||||
{
|
||||
runAdbCommand("adb.exe devices");
|
||||
if (line[line.Length - 4].Contains("List of devices attached") == false)
|
||||
MessageBox.Show(line[line.Length - 4]);
|
||||
else
|
||||
MessageBox.Show("No android device attached");
|
||||
runAdbCommand("devices");
|
||||
changeTitlebarToDevice();
|
||||
MessageBox.Show(allText);
|
||||
}
|
||||
|
||||
private void instructionsbutton_Click(object sender, EventArgs e)
|
||||
@@ -148,7 +149,18 @@ namespace AndroidSideloader
|
||||
x.WaitForExit();
|
||||
}
|
||||
|
||||
private void obbcopybutton_Click(object sender, EventArgs e)
|
||||
private void obbcopy(string obbPath)
|
||||
{
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("push " + '"' + obbPath + '"' + " /sdcard/Android/obb");
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
t1.Join();
|
||||
}
|
||||
|
||||
private async void obbcopybutton_Click(object sender, EventArgs e)
|
||||
{
|
||||
using (var fbd = new FolderBrowserDialog())
|
||||
{
|
||||
@@ -166,17 +178,9 @@ namespace AndroidSideloader
|
||||
|
||||
if (obbPath.Length>0)
|
||||
{
|
||||
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("adb push " + '"' + obbPath + '"' + " /sdcard/Android/obb");
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
|
||||
runLoadingBar(obbFile);
|
||||
|
||||
MessageBox.Show(line[line.Length - 3]);
|
||||
await Task.Run(() => obbcopy(obbPath));
|
||||
|
||||
MessageBox.Show(allText);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -184,10 +188,24 @@ namespace AndroidSideloader
|
||||
}
|
||||
}
|
||||
|
||||
private void changeTitlebarToDevice()
|
||||
{
|
||||
if (line[1].Length > 1)
|
||||
this.Text = "Rookie Sideloader | Device Connected with ID | " + line[1].Replace("device", "");
|
||||
else
|
||||
this.Text = "Rookie Sideloader | No Device Connected";
|
||||
}
|
||||
|
||||
private void Form1_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (debugMode == false)
|
||||
debugbutton.Visible = false;
|
||||
runAdbCommand("devices");
|
||||
changeTitlebarToDevice();
|
||||
//comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend; //can remove if u want to not show the box 2 times
|
||||
|
||||
//comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;
|
||||
|
||||
if (File.Exists(debugPath))
|
||||
File.Delete(debugPath);
|
||||
if (Directory.Exists(adbPath)==false)
|
||||
{
|
||||
MessageBox.Show("Please wait for the software to download and install the adb");
|
||||
@@ -199,7 +217,7 @@ namespace AndroidSideloader
|
||||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
|
||||
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/7z.exe", "7z.exe");
|
||||
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/7z.dll", "7z.dll");
|
||||
client.DownloadFile("http://github.com/nerdunit/androidsideloader/releases/download/v0.3/adb.7z", "adb.7z");
|
||||
client.DownloadFile("https://github.com/nerdunit/androidsideloader/raw/master/adb.7z", "adb.7z");
|
||||
}
|
||||
ExtractFile(Environment.CurrentDirectory + "\\adb.7z", Environment.CurrentDirectory);
|
||||
File.Delete("adb.7z");
|
||||
@@ -210,7 +228,6 @@ namespace AndroidSideloader
|
||||
{
|
||||
MessageBox.Show("Cannot download adb because you are not connected to the internet!");
|
||||
StreamWriter sw = File.AppendText(debugPath);
|
||||
sw.Write(allText);
|
||||
sw.Write("\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
|
||||
sw.Write(ex.ToString() + "\n");
|
||||
sw.Flush();
|
||||
@@ -222,17 +239,20 @@ namespace AndroidSideloader
|
||||
if (debugMode==false)
|
||||
checkForUpdate();
|
||||
intToolTips();
|
||||
|
||||
listappsBtn();
|
||||
|
||||
}
|
||||
void intToolTips()
|
||||
{
|
||||
ToolTip FlashFirmwareToolTip = new ToolTip();
|
||||
FlashFirmwareToolTip.SetToolTip(this.flashfirmwarebutton, "Make sure to put the firmware with the name UPDATE.zip in the software directory");
|
||||
ToolTip ListAppsToolTip = new ToolTip();
|
||||
ListAppsToolTip.SetToolTip(this.ListApps, "Press this to show what packages you have installed");
|
||||
}
|
||||
void checkForUpdate()
|
||||
{
|
||||
try
|
||||
{
|
||||
string localVersion = "0.4";
|
||||
string localVersion = "0.7";
|
||||
HttpClient client = new HttpClient();
|
||||
string currentVersion = client.GetStringAsync("https://raw.githubusercontent.com/nerdunit/androidsideloader/master/version").Result;
|
||||
currentVersion = currentVersion.Remove(currentVersion.Length - 1);
|
||||
@@ -245,66 +265,38 @@ namespace AndroidSideloader
|
||||
}
|
||||
}
|
||||
|
||||
private void flashfirmwarebutton_Click(object sender, EventArgs e)
|
||||
private void backup()
|
||||
{
|
||||
const string message =
|
||||
"This is a dangerous action, be sure you know what you are doing! This feature is not tested and the loading bar may bug out Do NOT disconnect the quest, wait for the messagebox to show up first Press yes to continue";
|
||||
const string caption = "WARNING";
|
||||
var result = MessageBox.Show(message, caption,
|
||||
MessageBoxButtons.YesNo,
|
||||
MessageBoxIcon.Warning);
|
||||
|
||||
if (result == DialogResult.No)
|
||||
return;
|
||||
|
||||
using (OpenFileDialog openFileDialog = new OpenFileDialog())
|
||||
{
|
||||
openFileDialog.Filter = "Android Firmware (*.zip)|*.zip";
|
||||
openFileDialog.FilterIndex = 2;
|
||||
openFileDialog.RestoreDirectory = true;
|
||||
|
||||
if (openFileDialog.ShowDialog() == DialogResult.OK)
|
||||
path = openFileDialog.FileName;
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
File.Copy(path, Environment.CurrentDirectory + "\\UPDATE.zip");
|
||||
|
||||
|
||||
MessageBox.Show("Action Started, may take some time...");
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("adb reboot bootloader");
|
||||
Thread.Sleep(1000 * 15);
|
||||
runAdbCommand("fastboot oem reboot-sideload");
|
||||
Thread.Sleep(1000 * 15);
|
||||
runAdbCommand("adb sideload UPDATE.zip");
|
||||
runAdbCommand("pull " + '"' + "/sdcard/Android/data" + '"');
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
|
||||
Thread.Sleep(1000 * 30);
|
||||
runLoadingBar(path);
|
||||
|
||||
MessageBox.Show("Let the Quest sit for a bit, it will fully reboot back into Quest Home, then put it on and reboot, (hold power button a bit and select reboot)");
|
||||
MessageBox.Show(allText);
|
||||
t1.Join();
|
||||
}
|
||||
|
||||
private void backupbutton_Click(object sender, EventArgs e)
|
||||
private async void backupbutton_Click(object sender, EventArgs e)
|
||||
{
|
||||
Thread t1 = new Thread(() =>
|
||||
if (exit==false)
|
||||
{
|
||||
runAdbCommand("adb pull " + '"' + "/sdcard/Android/data" + '"');
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
MessageBox.Show("Finish Previous action first!");
|
||||
return;
|
||||
}
|
||||
|
||||
while (exit == false)
|
||||
Thread.Sleep(1000);
|
||||
await Task.Run(() => backup()); //we use async and await to not freeze the ui
|
||||
|
||||
Directory.Move(adbPath + "data", Environment.CurrentDirectory + "\\data");
|
||||
try
|
||||
{
|
||||
Directory.Move(adbPath + "data", Environment.CurrentDirectory + "\\data");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
File.AppendAllText(debugPath, ex.ToString());
|
||||
}
|
||||
|
||||
MessageBox.Show(line[line.Length - 3]);
|
||||
MessageBox.Show(allText);
|
||||
}
|
||||
|
||||
private void debugbutton_Click(object sender, EventArgs e)
|
||||
@@ -312,8 +304,25 @@ namespace AndroidSideloader
|
||||
|
||||
}
|
||||
|
||||
private void restorebutton_Click(object sender, EventArgs e)
|
||||
private void restore()
|
||||
{
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("push " + '"' + obbPath + '"' + " /sdcard/Android/");
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
t1.Join();
|
||||
}
|
||||
|
||||
private async void restorebutton_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (exit == false)
|
||||
{
|
||||
MessageBox.Show("Finish Previous action first!");
|
||||
return;
|
||||
}
|
||||
|
||||
using (var fbd = new FolderBrowserDialog())
|
||||
{
|
||||
DialogResult result = fbd.ShowDialog();
|
||||
@@ -325,18 +334,9 @@ namespace AndroidSideloader
|
||||
}
|
||||
else return;
|
||||
}
|
||||
await Task.Run(() => restore());
|
||||
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("adb push " + '"' + obbPath + '"' + " /sdcard/Android/");
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
|
||||
while (exit == false)
|
||||
Thread.Sleep(1000);
|
||||
|
||||
MessageBox.Show(line[line.Length - 3]);
|
||||
MessageBox.Show(allText);
|
||||
}
|
||||
|
||||
private void customadbcmdbutton_Click(object sender, EventArgs e)
|
||||
@@ -344,5 +344,232 @@ namespace AndroidSideloader
|
||||
customAdbCommandForm adbCommandForm = new customAdbCommandForm();
|
||||
adbCommandForm.Show();
|
||||
}
|
||||
|
||||
private void listapps()
|
||||
{
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("shell pm list packages");
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
t1.Join();
|
||||
}
|
||||
|
||||
private void ListApps_Click(object sender, EventArgs e)
|
||||
{
|
||||
listappsBtn();
|
||||
}
|
||||
|
||||
private async void listappsBtn()
|
||||
{
|
||||
allText = "";
|
||||
|
||||
m_combo.Items.Clear();
|
||||
|
||||
await Task.Run(() => listapps());
|
||||
|
||||
foreach (string obj in line)
|
||||
{
|
||||
if (obj.Length>9)
|
||||
m_combo.Items.Add(obj.Remove(0, 8));
|
||||
}
|
||||
m_combo.MatchingMethod = StringMatchingMethod.NoWildcards;
|
||||
//if (allText.Length > 0)
|
||||
// MessageBox.Show("Fetched apks with success");
|
||||
}
|
||||
|
||||
private void getapk(string package)
|
||||
{
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("shell pm path " + package);
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
t1.Join();
|
||||
}
|
||||
|
||||
private void pullapk(string apkPath)
|
||||
{
|
||||
Thread t2 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("pull " + apkPath);
|
||||
});
|
||||
t2.IsBackground = true;
|
||||
t2.Start();
|
||||
t2.Join();
|
||||
}
|
||||
|
||||
private async void getApkButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
string package = m_combo.SelectedItem.ToString().Remove(m_combo.SelectedItem.ToString().Length - 1);
|
||||
|
||||
await Task.Run(() => getapk(package));
|
||||
|
||||
allText = allText.Remove(allText.Length - 1);
|
||||
//MessageBox.Show(allText);
|
||||
|
||||
string apkPath = allText.Remove(0, 8); //remove package:
|
||||
apkPath = apkPath.Remove(apkPath.Length - 1);
|
||||
|
||||
await Task.Run(() => pullapk(apkPath));
|
||||
|
||||
string currApkPath = apkPath;
|
||||
while (currApkPath.Contains("/"))
|
||||
currApkPath = currApkPath.Substring(currApkPath.IndexOf("/") + 1);
|
||||
|
||||
if (File.Exists(Environment.CurrentDirectory + "\\" + package + ".apk"))
|
||||
File.Delete(Environment.CurrentDirectory + "\\" + package + ".apk");
|
||||
|
||||
|
||||
File.Move(Environment.CurrentDirectory + "\\adb\\" + currApkPath, Environment.CurrentDirectory + "\\" + package + ".apk");
|
||||
|
||||
MessageBox.Show("Done");
|
||||
}
|
||||
|
||||
private void listappperms(string package)
|
||||
{
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("shell dumpsys package " + package);
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
t1.Join();
|
||||
}
|
||||
|
||||
private async void listApkPermsButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
string package = m_combo.SelectedItem.ToString().Remove(m_combo.SelectedItem.ToString().Length - 1);
|
||||
|
||||
await Task.Run(() => listappperms(package));
|
||||
|
||||
var grantedPerms = allText.Substring(allText.LastIndexOf("install permissions:") + 22);
|
||||
grantedPerms.Substring(0, grantedPerms.IndexOf("User 0:"));
|
||||
|
||||
line = grantedPerms.Split('\n');
|
||||
|
||||
int pos1 = 12;
|
||||
int pos2 = 187;
|
||||
|
||||
|
||||
for (int i=0; i< line.Length; i++)
|
||||
{
|
||||
if (line[i].Contains("android.permission."))
|
||||
{
|
||||
CheckBox chk = new CheckBox();
|
||||
if (line[i].Contains("true"))
|
||||
chk.Checked = true;
|
||||
else
|
||||
chk.Checked = false;
|
||||
line[i] = line[i].Substring(0, line[i].IndexOf(": granted"));
|
||||
line[i] = line[i].Substring(line[i].LastIndexOf(" "));
|
||||
|
||||
|
||||
chk.Location = new System.Drawing.Point(pos1, pos2);
|
||||
chk.Width = 420;
|
||||
chk.Height = 17;
|
||||
chk.Text = line[i];
|
||||
chk.CheckedChanged += new EventHandler(CheckBox_Checked);
|
||||
Controls.Add(chk);
|
||||
pos2 += 20;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void CheckBox_Checked(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private async void changePermsBtn_Click(object sender, EventArgs e)
|
||||
{
|
||||
string package = m_combo.SelectedItem.ToString().Remove(m_combo.SelectedItem.ToString().Length - 1);
|
||||
|
||||
foreach (Control c in Controls)
|
||||
{
|
||||
if ((c is CheckBox))
|
||||
{
|
||||
exit = false;
|
||||
if (((CheckBox)c).Checked==true)
|
||||
{
|
||||
await Task.Run(() => changePerms(c, package, "grant"));
|
||||
}
|
||||
else
|
||||
{
|
||||
await Task.Run(() => changePerms(c, package, "revoke"));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
MessageBox.Show("Done!");
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void changePerms(Control c, string package, string grant)
|
||||
{
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("shell pm " + grant + " " + package + " " + c.Text);
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
t1.Join();
|
||||
}
|
||||
|
||||
private void launchApkButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
exit = false;
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("shell am start -n " + launchPackageTextBox.Text);
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
|
||||
}
|
||||
|
||||
private async void uninstallAppButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
allText = "";
|
||||
string package = m_combo.SelectedItem.ToString().Remove(m_combo.SelectedItem.ToString().Length - 1);
|
||||
|
||||
DialogResult dialogResult = MessageBox.Show("Are you sure you want to uninstall " + package + " this CANNOT be undone!", "WARNING!", MessageBoxButtons.YesNo);
|
||||
if (dialogResult != DialogResult.Yes)
|
||||
return;
|
||||
|
||||
await Task.Run(() => uninstallPackage(package));
|
||||
|
||||
MessageBox.Show(allText);
|
||||
}
|
||||
|
||||
private void uninstallPackage(string package)
|
||||
{
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
runAdbCommand("shell pm uninstall -k --user 0 " + package);
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
t1.Join();
|
||||
}
|
||||
|
||||
private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e)
|
||||
{
|
||||
MethodItem mi = (MethodItem)m_combo.SelectedItem;
|
||||
m_combo.MatchingMethod = mi.Value;
|
||||
}
|
||||
}
|
||||
|
||||
public class MethodItem
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public StringMatchingMethod Value { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
32
README.md
32
README.md
@@ -2,6 +2,38 @@
|
||||
|
||||
Changelog
|
||||
|
||||
0.8
|
||||
- Every command now shows progress on title bar
|
||||
- Automatically run Adb Devices and List Apps on form startup
|
||||
- You can now search the App List Combo Box
|
||||
- Cleaned some code
|
||||
|
||||
0.7
|
||||
- Fixed UI Freezes
|
||||
- Added Uninstall APK Button
|
||||
- Added Launch package Button
|
||||
- Removed loading bar
|
||||
|
||||
0.6
|
||||
- Added List Apk Perms button
|
||||
- Added Change Permissions button
|
||||
- Added dinamically added checkbox for permisssions
|
||||
- The software now downloads adb from master instead of v0.3 release
|
||||
|
||||
0.5
|
||||
- Removed Flash Firmware
|
||||
- Redesigned UI
|
||||
- Reworked RunAdbCommand function (now it will be possible to do stuff I wasnt able to do before)
|
||||
- Replaced Ui Buttons, still needs work
|
||||
- Added List apk button
|
||||
- Added List apk combo box
|
||||
- Added get apk function
|
||||
- Cleaned a bit of code
|
||||
|
||||
0.4
|
||||
- Added auto download of adb archive
|
||||
- Added auto extraction of adb archive
|
||||
|
||||
0.3
|
||||
- Added new form, you can run custom adb commands now
|
||||
- Added recover and backup app data
|
||||
|
||||
BIN
SergeUtils.dll
Normal file
BIN
SergeUtils.dll
Normal file
Binary file not shown.
2
customAdbCommandForm.Designer.cs
generated
2
customAdbCommandForm.Designer.cs
generated
@@ -48,6 +48,7 @@
|
||||
this.richTextBox1.Size = new System.Drawing.Size(775, 365);
|
||||
this.richTextBox1.TabIndex = 1;
|
||||
this.richTextBox1.Text = "";
|
||||
this.richTextBox1.TextChanged += new System.EventHandler(this.richTextBox1_TextChanged);
|
||||
//
|
||||
// runcustomadbcmdbutton
|
||||
//
|
||||
@@ -69,6 +70,7 @@
|
||||
this.Controls.Add(this.textBox1);
|
||||
this.Name = "customAdbCommandForm";
|
||||
this.Text = "customAdbCommandForm";
|
||||
this.Load += new System.EventHandler(this.customAdbCommandForm_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
|
||||
@@ -18,43 +18,49 @@ namespace AndroidSideloader
|
||||
|
||||
string output;
|
||||
|
||||
private void runcustomadbcmdbutton_Click(object sender, EventArgs e)
|
||||
{
|
||||
var command = textBox1.Text;
|
||||
if (command.StartsWith("adb "))
|
||||
command = command.Remove(0, 4);
|
||||
runAdbCommand(command);
|
||||
}
|
||||
|
||||
public void runAdbCommand(string command)
|
||||
{
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
Process cmd = new Process();
|
||||
cmd.StartInfo.FileName = "cmd.exe";
|
||||
cmd.StartInfo.RedirectStandardInput = true;
|
||||
cmd.StartInfo.RedirectStandardOutput = true;
|
||||
cmd.StartInfo.CreateNoWindow = true;
|
||||
cmd.StartInfo.UseShellExecute = false;
|
||||
cmd.StartInfo.WorkingDirectory = Environment.CurrentDirectory + "\\adb\\";
|
||||
cmd.Start();
|
||||
cmd.StandardInput.WriteLine(command);
|
||||
cmd.StandardInput.Flush();
|
||||
cmd.StandardInput.Close();
|
||||
cmd.WaitForExit();
|
||||
output = cmd.StandardOutput.ReadToEnd();
|
||||
StreamWriter sw = File.AppendText("debugC.log");
|
||||
sw.Write(output);
|
||||
sw.Write("\n--------------------------------------------------------------------\n");
|
||||
sw.Flush();
|
||||
sw.Close();
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
Process cmd = new Process();
|
||||
cmd.StartInfo.FileName = Environment.CurrentDirectory + "\\adb\\adb.exe";
|
||||
cmd.StartInfo.Arguments = command;
|
||||
cmd.StartInfo.RedirectStandardInput = true;
|
||||
cmd.StartInfo.RedirectStandardOutput = true;
|
||||
cmd.StartInfo.CreateNoWindow = true;
|
||||
cmd.StartInfo.UseShellExecute = false;
|
||||
cmd.StartInfo.WorkingDirectory = Environment.CurrentDirectory + "\\adb\\";
|
||||
cmd.Start();
|
||||
cmd.StandardInput.WriteLine(command);
|
||||
cmd.StandardInput.Flush();
|
||||
cmd.StandardInput.Close();
|
||||
output = cmd.StandardOutput.ReadToEnd();
|
||||
cmd.WaitForExit();
|
||||
|
||||
t1.Join();
|
||||
StreamWriter sw = File.AppendText("debugC.log");
|
||||
sw.Write("Action name = " + command + '\n');
|
||||
sw.Write(output);
|
||||
sw.Write("\n--------------------------------------------------------------------\n");
|
||||
sw.Flush();
|
||||
sw.Close();
|
||||
|
||||
richTextBox1.Text = output;
|
||||
}
|
||||
|
||||
private void runcustomadbcmdbutton_Click(object sender, EventArgs e)
|
||||
private void customAdbCommandForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (textBox1.Text.Split(' ').Length>1)
|
||||
runAdbCommand(textBox1.Text);
|
||||
else
|
||||
MessageBox.Show("You must enter at least 1 argument");
|
||||
|
||||
}
|
||||
|
||||
private void richTextBox1_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
5
packages.config
Normal file
5
packages.config
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Costura.Fody" version="4.1.0" targetFramework="net452" />
|
||||
<package id="Fody" version="6.0.0" targetFramework="net452" developmentDependency="true" />
|
||||
</packages>
|
||||
BIN
packages/Costura.Fody.4.1.0/Costura.Fody.4.1.0.nupkg
vendored
Normal file
BIN
packages/Costura.Fody.4.1.0/Costura.Fody.4.1.0.nupkg
vendored
Normal file
Binary file not shown.
5
packages/Costura.Fody.4.1.0/build/Costura.Fody.props
vendored
Normal file
5
packages/Costura.Fody.4.1.0/build/Costura.Fody.props
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<WeaverFiles Include="$(MsBuildThisFileDirectory)..\weaver\$(MSBuildThisFileName).dll" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
BIN
packages/Costura.Fody.4.1.0/lib/net40/Costura.dll
vendored
Normal file
BIN
packages/Costura.Fody.4.1.0/lib/net40/Costura.dll
vendored
Normal file
Binary file not shown.
18
packages/Costura.Fody.4.1.0/lib/net40/Costura.xml
vendored
Normal file
18
packages/Costura.Fody.4.1.0/lib/net40/Costura.xml
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Costura</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:CosturaUtility">
|
||||
<summary>
|
||||
Contains methods for interacting with the Costura system.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:CosturaUtility.Initialize">
|
||||
<summary>
|
||||
Call this to Initialize the Costura system.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
BIN
packages/Costura.Fody.4.1.0/weaver/Costura.Fody.dll
vendored
Normal file
BIN
packages/Costura.Fody.4.1.0/weaver/Costura.Fody.dll
vendored
Normal file
Binary file not shown.
85
packages/Costura.Fody.4.1.0/weaver/Costura.Fody.xcf
vendored
Normal file
85
packages/Costura.Fody.4.1.0/weaver/Costura.Fody.xcf
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:all>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="ExcludeAssemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="IncludeAssemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="Unmanaged32Assemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of unmanaged 32 bit assembly names to include, delimited with line breaks.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="Unmanaged64Assemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of unmanaged 64 bit assembly names to include, delimited with line breaks.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="PreloadOrder" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The order of preloaded assemblies, delimited with line breaks.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
<xs:attribute name="CreateTemporaryAssemblies" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IncludeDebugSymbols" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Controls if .pdbs for reference assemblies are also embedded.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DisableCompression" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DisableCleanup" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LoadAtModuleInit" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IgnoreSatelliteAssemblies" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ExcludeAssemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with |</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IncludeAssemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Unmanaged32Assemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of unmanaged 32 bit assembly names to include, delimited with |.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Unmanaged64Assemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of unmanaged 64 bit assembly names to include, delimited with |.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="PreloadOrder" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The order of preloaded assemblies, delimited with |.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
BIN
packages/Fody.6.0.0/Fody.6.0.0.nupkg
vendored
Normal file
BIN
packages/Fody.6.0.0/Fody.6.0.0.nupkg
vendored
Normal file
Binary file not shown.
110
packages/Fody.6.0.0/build/Fody.targets
vendored
Normal file
110
packages/Fody.6.0.0/build/Fody.targets
vendored
Normal file
@@ -0,0 +1,110 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<PropertyGroup>
|
||||
<ProjectWeaverXml Condition="$(ProjectWeaverXml) == ''">$(ProjectDir)FodyWeavers.xml</ProjectWeaverXml>
|
||||
<FodyPath Condition="$(FodyPath) == ''">$(MSBuildThisFileDirectory)..\</FodyPath>
|
||||
<FodyAssemblyDirectory Condition="$(MSBuildRuntimeType) == 'Core'">$(FodyPath)netstandardtask</FodyAssemblyDirectory>
|
||||
<FodyAssemblyDirectory Condition="$(MSBuildRuntimeType) != 'Core'">$(FodyPath)netclassictask</FodyAssemblyDirectory>
|
||||
<FodyAssembly Condition="$(FodyAssembly) == ''">$(FodyAssemblyDirectory)\Fody.dll</FodyAssembly>
|
||||
<DefaultItemExcludes>$(DefaultItemExcludes);FodyWeavers.xsd</DefaultItemExcludes>
|
||||
<FodyGenerateXsd Condition="$(FodyGenerateXsd) == ''">true</FodyGenerateXsd>
|
||||
<MsBuildMajorVersion>15</MsBuildMajorVersion>
|
||||
<MsBuildMajorVersion Condition="'$(MSBuildVersion)' != ''">$([System.Version]::Parse($(MSBuildVersion)).Major)</MsBuildMajorVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition="Exists($(ProjectWeaverXml))">
|
||||
<UpToDateCheckInput Include="$(ProjectWeaverXml)" />
|
||||
<CustomAdditionalCompileInputs Include="$(ProjectWeaverXml)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Support for NCrunch -->
|
||||
<ItemGroup Condition="'$(NCrunch)' == '1' and '$(TargetFramework)' == '' and '$(TargetFrameworks)' == ''">
|
||||
<None Include="$(FodyAssemblyDirectory)\*.*" />
|
||||
<None Include="@(WeaverFiles)" />
|
||||
</ItemGroup>
|
||||
|
||||
<UsingTask TaskName="Fody.WeavingTask" AssemblyFile="$(FodyAssembly)" />
|
||||
<UsingTask TaskName="Fody.UpdateReferenceCopyLocalTask" AssemblyFile="$(FodyAssembly)" />
|
||||
<UsingTask TaskName="Fody.VerifyTask" AssemblyFile="$(FodyAssembly)" />
|
||||
|
||||
<Target
|
||||
Name="FodyTarget"
|
||||
AfterTargets="AfterCompile"
|
||||
Condition="Exists(@(IntermediateAssembly)) And $(DesignTimeBuild) != true And $(DisableFody) != true"
|
||||
DependsOnTargets="$(FodyDependsOnTargets)"
|
||||
Inputs="@(IntermediateAssembly);$(ProjectWeaverXml)"
|
||||
Outputs="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache">
|
||||
|
||||
<Error Condition="($(MsBuildMajorVersion) < 16)"
|
||||
Text="Fody is only supported on MSBuild 16 and above. Current version: $(MsBuildMajorVersion)." />
|
||||
<Fody.WeavingTask
|
||||
AssemblyFile="@(IntermediateAssembly)"
|
||||
IntermediateDirectory="$(ProjectDir)$(IntermediateOutputPath)"
|
||||
KeyOriginatorFile="$(KeyOriginatorFile)"
|
||||
AssemblyOriginatorKeyFile="$(AssemblyOriginatorKeyFile)"
|
||||
ProjectDirectory="$(MSBuildProjectDirectory)"
|
||||
ProjectFile="$(MSBuildProjectFullPath)"
|
||||
SolutionDirectory="$(SolutionDir)"
|
||||
References="@(ReferencePath)"
|
||||
SignAssembly="$(SignAssembly)"
|
||||
ReferenceCopyLocalFiles="@(ReferenceCopyLocalPaths)"
|
||||
DefineConstants="$(DefineConstants)"
|
||||
DebugType="$(DebugType)"
|
||||
DocumentationFile="@(DocFileItem->'%(FullPath)')"
|
||||
WeaverFiles="@(WeaverFiles)"
|
||||
NCrunchOriginalSolutionDirectory="$(NCrunchOriginalSolutionDir)"
|
||||
IntermediateCopyLocalFilesCache="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache"
|
||||
GenerateXsd="$(FodyGenerateXsd)"
|
||||
>
|
||||
|
||||
<Output
|
||||
TaskParameter="ExecutedWeavers"
|
||||
PropertyName="FodyExecutedWeavers" />
|
||||
|
||||
</Fody.WeavingTask>
|
||||
|
||||
<ItemGroup>
|
||||
<FileWrites Include="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache" />
|
||||
</ItemGroup>
|
||||
|
||||
</Target>
|
||||
|
||||
<Target
|
||||
Name="FodyUpdateCopyLocalFilesTarget"
|
||||
AfterTargets="FodyTarget"
|
||||
>
|
||||
|
||||
<Fody.UpdateReferenceCopyLocalTask
|
||||
ReferenceCopyLocalFiles="@(ReferenceCopyLocalPaths)"
|
||||
IntermediateCopyLocalFilesCache="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache"
|
||||
>
|
||||
|
||||
<Output
|
||||
TaskParameter="UpdatedReferenceCopyLocalFiles"
|
||||
ItemName="FodyUpdatedReferenceCopyLocalPaths" />
|
||||
|
||||
</Fody.UpdateReferenceCopyLocalTask>
|
||||
|
||||
<ItemGroup>
|
||||
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" />
|
||||
<ReferenceCopyLocalPaths Include="@(FodyUpdatedReferenceCopyLocalPaths)" />
|
||||
</ItemGroup>
|
||||
|
||||
</Target>
|
||||
|
||||
<Target
|
||||
Name="FodyVerifyTarget"
|
||||
AfterTargets="AfterBuild"
|
||||
Condition="'$(NCrunch)' != '1' And $(FodyExecutedWeavers) != '' And $(DisableFody) != true"
|
||||
DependsOnTargets="$(FodyVerifyDependsOnTargets)">
|
||||
|
||||
<Fody.VerifyTask
|
||||
ProjectDirectory="$(MSBuildProjectDirectory)"
|
||||
TargetPath="$(TargetPath)"
|
||||
SolutionDirectory="$(SolutionDir)"
|
||||
DefineConstants="$(DefineConstants)"
|
||||
NCrunchOriginalSolutionDirectory="$(NCrunchOriginalSolutionDir)"
|
||||
/>
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
BIN
packages/Fody.6.0.0/netclassictask/Fody.dll
vendored
Normal file
BIN
packages/Fody.6.0.0/netclassictask/Fody.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netclassictask/FodyCommon.dll
vendored
Normal file
BIN
packages/Fody.6.0.0/netclassictask/FodyCommon.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netclassictask/FodyHelpers.dll
vendored
Normal file
BIN
packages/Fody.6.0.0/netclassictask/FodyHelpers.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netclassictask/FodyIsolated.dll
vendored
Normal file
BIN
packages/Fody.6.0.0/netclassictask/FodyIsolated.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netclassictask/Mono.Cecil.Pdb.dll
vendored
Normal file
BIN
packages/Fody.6.0.0/netclassictask/Mono.Cecil.Pdb.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netclassictask/Mono.Cecil.Pdb.pdb
vendored
Normal file
BIN
packages/Fody.6.0.0/netclassictask/Mono.Cecil.Pdb.pdb
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netclassictask/Mono.Cecil.Rocks.dll
vendored
Normal file
BIN
packages/Fody.6.0.0/netclassictask/Mono.Cecil.Rocks.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netclassictask/Mono.Cecil.Rocks.pdb
vendored
Normal file
BIN
packages/Fody.6.0.0/netclassictask/Mono.Cecil.Rocks.pdb
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netclassictask/Mono.Cecil.dll
vendored
Normal file
BIN
packages/Fody.6.0.0/netclassictask/Mono.Cecil.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netclassictask/Mono.Cecil.pdb
vendored
Normal file
BIN
packages/Fody.6.0.0/netclassictask/Mono.Cecil.pdb
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/Fody.dll
vendored
Normal file
BIN
packages/Fody.6.0.0/netstandardtask/Fody.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/FodyCommon.dll
vendored
Normal file
BIN
packages/Fody.6.0.0/netstandardtask/FodyCommon.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/FodyHelpers.dll
vendored
Normal file
BIN
packages/Fody.6.0.0/netstandardtask/FodyHelpers.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/FodyIsolated.dll
vendored
Normal file
BIN
packages/Fody.6.0.0/netstandardtask/FodyIsolated.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Pdb.dll
vendored
Normal file
BIN
packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Pdb.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Pdb.pdb
vendored
Normal file
BIN
packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Pdb.pdb
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Rocks.dll
vendored
Normal file
BIN
packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Rocks.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Rocks.pdb
vendored
Normal file
BIN
packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Rocks.pdb
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/Mono.Cecil.dll
vendored
Normal file
BIN
packages/Fody.6.0.0/netstandardtask/Mono.Cecil.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/Mono.Cecil.pdb
vendored
Normal file
BIN
packages/Fody.6.0.0/netstandardtask/Mono.Cecil.pdb
vendored
Normal file
Binary file not shown.
Reference in New Issue
Block a user