diff --git a/MetaforceInstaller.Core/Services/AdbService.cs b/MetaforceInstaller.Core/Services/AdbService.cs
index e0e4920..ddf790f 100644
--- a/MetaforceInstaller.Core/Services/AdbService.cs
+++ b/MetaforceInstaller.Core/Services/AdbService.cs
@@ -2,6 +2,7 @@ using System.Reflection;
using AdvancedSharpAdbClient;
using AdvancedSharpAdbClient.DeviceCommands;
using AdvancedSharpAdbClient.Models;
+using AdvancedSharpAdbClient.Receivers;
using MetaforceInstaller.Core.Intefaces;
using MetaforceInstaller.Core.Models;
using Microsoft.Extensions.Logging;
@@ -154,6 +155,17 @@ public class AdbService : IAdbService
TotalBytes = fileInfo.Length
});
+ var remoteDir = Path.GetDirectoryName(remotePath)?.Replace('\\', '/');
+ if (!string.IsNullOrEmpty(remoteDir))
+ {
+ var reciever = new ConsoleOutputReceiver();
+ await Task.Run(
+ () => { _adbClient.ExecuteRemoteCommand($"mkdir -p \"{remoteDir}\"", _deviceData, reciever); },
+ cancellationToken);
+ }
+
+ _logger.LogInformation($"Ensured remote directory: {remoteDir}");
+
await Task.Run(() =>
{
using var fileStream = File.OpenRead(localPath);
diff --git a/MetaforceInstaller.UI/MetaforceInstaller.UI.csproj b/MetaforceInstaller.UI/MetaforceInstaller.UI.csproj
index ce7d888..26ffaf3 100644
--- a/MetaforceInstaller.UI/MetaforceInstaller.UI.csproj
+++ b/MetaforceInstaller.UI/MetaforceInstaller.UI.csproj
@@ -8,6 +8,7 @@
true
app.manifest
true
+ 1.2.1