How can I use cake ADB in the right way?
My laptop -> Mackbook M1
#addin "nuget:?package=Cake.Xamarin&version=3.0.2"
#addin "nuget:?package=Cake.Android.Adb&version=3.2.0"
#addin "nuget:?package=Cake.Android.SdkManager&version=3.0.2"
const string NEXUS_GO_ANDROID = "/Users/***/***.Android.csproj";
Task("Test")
.Does(() =>
{
FilePath androidApk = BuildAndroidApk(projectFile: NEXUS_GO_ANDROID, sign: true, configuration: "Debug", configurator: null);
//FilePath androidApk = BuildAndroidApk(projectFile: NEXUS_GO_ANDROID, sign: false, configuration: "Debug", configurator: null);
Console.WriteLine($"!!! android APK {androidApk}");
//AdbUninstall("uk.co.pallex.nexusgo");
AdbInstall(apkFile: androidApk);
});
RunTarget("Test");
>dotnet cake
...
Time Elapsed 00:00:06.48
!!! android APK /Users/***/***.Android/bin/Debug/***-Signed.apk
An error occurred when executing task 'Test'.
Error: One or more errors occurred. (Object reference not set to an instance of an object.)
Object reference not set to an instance of an object.
My goal is to build once and run apk in two enumerators(where one is LTR and second is RTL). But now I can't run even on one of them.
How can I fix that? Update to another version? Set some global properties?
Update
for get more information we need run dotnet cake --verbosity=diagnostic
Could not resolve path for tool "adb" using these directories: /usr/local/bin,/usr/bin,/bin,/usr/sbin,/sbin,/usr/local/share/dotnet,~/.dotnet/tools,/Library/Apple/usr/bin,/Library/Frameworks/Mono.framework/Versions/Current/Commands,/opt/homebrew/bin,/opt/homebrew/sbin
Could not resolve path for tool "adb.exe" using these directories: /usr/local/bin,/usr/bin,/bin,/usr/sbin,/sbin,/usr/local/share/dotnet,~/.dotnet/tools,/Library/Apple/usr/bin,/Library/Frameworks/Mono.framework/Versions/Current/Commands,/opt/homebrew/bin,/opt/homebrew/sbin
An error occurred when executing task 'Test'.
Error: System.AggregateException: One or more errors occurred. (Object reference not set to an instance of an object.)
---> System.NullReferenceException: Object reference not set to an instance of an object.
at Cake.AndroidAdb.AdbTool.GetAlternativeToolPaths(AdbToolSettings settings)
at Cake.Core.Tooling.Tool`1.GetToolPathUsingToolService(TSettings settings) in C:\projects\cake\src\Cake.Core\Tooling\Tool.cs:line 285
at Cake.Core.Tooling.Tool`1.GetToolPath(TSettings settings) in C:\projects\cake\src\Cake.Core\Tooling\Tool.cs:line 266
at Cake.Core.Tooling.Tool`1.RunProcess(TSettings settings, ProcessArgumentBuilder arguments, ProcessSettings processSettings) in C:\projects\cake\src\Cake.Core\Tooling\Tool.cs:line 160
at Cake.Core.Tooling.Tool`1.Run(TSettings settings, ProcessArgumentBuilder arguments, ProcessSettings processSettings, Action`1 postAction) in C:\projects\cake\src\Cake.Core\Tooling\Tool.cs:line 81
at Cake.Core.Tooling.Tool`1.Run(TSettings settings, ProcessArgumentBuilder arguments) in C:\projects\cake\src\Cake.Core\Tooling\Tool.cs:line 60
at Cake.AndroidAdb.AdbTool.Uninstall(String packageName, Boolean keepDataAndCacheDirs, AdbToolSettings settings)
at Cake.AndroidAdb.AdbAliases.AdbUninstall(ICakeContext context, String packageName, Boolean keepDataAndCacheDirs, AdbToolSettings settings)
at Submission#0.AdbUninstall(String packageName, Boolean keepDataAndCacheDirs, AdbToolSettings settings)
at Submission#0.<<Initialize>>b__0_4()
at Cake.Core.CakeTaskBuilderExtensions.<>c__DisplayClass31_0.<Does>b__0(ICakeContext _) in C:\projects\cake\src\Cake.Core\CakeTaskBuilder.Execution.cs:line 26
at Cake.Core.CakeTaskBuilderExtensions.<>c__DisplayClass34_0.<Does>b__0(ICakeContext context) in C:\projects\cake\src\Cake.Core\CakeTaskBuilder.Execution.cs:line 81
at Cake.Core.CakeTask.Execute(ICakeContext context) in C:\projects\cake\src\Cake.Core\CakeTask.cs:line 119
at Cake.Core.DefaultExecutionStrategy.ExecuteAsync(CakeTask task, ICakeContext context) in C:\projects\cake\src\Cake.Core\DefaultExecutionStrategy.cs:line 72
at Cake.Core.CakeEngine.ExecuteTaskAsync(ICakeContext context, IExecutionStrategy strategy, Stopwatch stopWatch, CakeTask task, CakeReport report) in C:\projects\cake\src\Cake.Core\CakeEngine.cs:line 278
at Cake.Core.CakeEngine.ExecuteTaskAsync(ICakeContext context, IExecutionStrategy strategy, Stopwatch stopWatch, CakeTask task, CakeReport report) in C:\projects\cake\src\Cake.Core\CakeEngine.cs:line 301
at Cake.Core.CakeEngine.ExecuteTaskAsync(ICakeContext context, IExecutionStrategy strategy, Stopwatch stopWatch, CakeTask task, CakeReport report) in C:\projects\cake\src\Cake.Core\CakeEngine.cs:line 311
at Cake.Core.CakeEngine.RunTask(ICakeContext context, IExecutionStrategy strategy, CakeTask task, String target, Stopwatch stopWatch, CakeReport report) in C:\projects\cake\src\Cake.Core\CakeEngine.cs:line 226
at Cake.Core.CakeEngine.RunTargetAsync(ICakeContext context, IExecutionStrategy strategy, ExecutionSettings settings) in C:\projects\cake\src\Cake.Core\CakeEngine.cs:line 189
at Cake.Cli.BuildScriptHost`1.RunTargetAsync(String target) in C:\projects\cake\src\Cake.Cli\Hosts\BuildScriptHost.cs:line 73
at Cake.Core.Scripting.ScriptHost.RunTarget(String target) in C:\projects\cake\src\Cake.Core\Scripting\ScriptHost.cs:line 105
at Submission#0.<<Initialize>>d__0.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.RunSubmissionsAsync[TResult](ImmutableArray`1 precedingExecutors, Func`2 currentExecutor, StrongBox`1 exceptionHolderOpt, Func`2 catchExceptionOpt, CancellationToken cancellationToken)
at Microsoft.CodeAnalysis.Scripting.Script`1.RunSubmissionsAsync(ScriptExecutionState executionState, ImmutableArray`1 precedingExecutors, Func`2 currentExecutor, Func`2 catchExceptionOpt, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at Cake.Infrastructure.Scripting.RoslynScriptSession.Execute(Script script) in C:\projects\cake\src\Cake\Infrastructure\Scripting\RoslynScriptSession.cs:line 90
at Cake.Core.Scripting.ScriptRunner.Run(IScriptHost host, FilePath scriptPath) in C:\projects\cake\src\Cake.Core\Scripting\ScriptRunner.cs:line 172
at Cake.Features.Building.BuildFeature.RunCore(IRemainingArguments arguments, BuildFeatureSettings settings) in C:\projects\cake\src\Cake\Features\Building\BuildFeature.cs:line 99
at Cake.Features.Building.BuildFeature.Run(IRemainingArguments arguments, BuildFeatureSettings settings) in C:\projects\cake\src\Cake\Features\Building\BuildFeature.cs:line 49
at Cake.Commands.DefaultCommand.Execute(CommandContext context, DefaultCommandSettings settings) in C:\projects\cake\src\Cake\Commands\DefaultCommand.cs:line 73