Can't compile Android library

Attached project doesn’t compile in Fire 2605, error in screenshot.


AndroidClassLibrary.zip (5.1 KB)

Does this error persist for you with latest? I recall fixing a regression like this a few weeks back…

I don’t have access to beta, so .2605 is the latest for me.

Let me upload lagtest to tur Personal Downloads…

Unfortunately it still fails with the same error.

Hmm. Can I see your test case then? Coz Android apps in general build fine for me. Also, you you change the log verbosity to Diagnostic in Preferences, and post the full log? Thanx!

Test project is attached to the first message. That’s not ok?

Missed that, sorry. that said, I tried now and it compiles clean here. Can I see that complete log? It might be a problem related with your setup (though definitely a bug, giving that obscure error)

This is from .2613:

/Users/ndelic/Desktop/Fire.app/Contents/Resources/Mono/bin/mono-sgen /Users/ndelic/Desktop/Fire.app/Contents/Resources/EBuild.exe "--setting:Elements:ToffeeSDKFolder=/Users/ndelic/Desktop/Fire.app/Contents/Resources/Toffee SDKs" "--setting:Elements:IslandSDKFolder=/Users/ndelic/Desktop/Fire.app/Contents/Resources/Island SDKs" "--setting:Elements:GothamXmlFolder=/Users/ndelic/Desktop/Fire.app/Contents/Resources/Gotham XMLs" "--setting:Elements:ReferencePathsXMLFolder=/Users/ndelic/Desktop/Fire.app/Contents/Resources/Reference Paths with Data Abstract Trial" --setting:Elements:LldExePath=/Users/ndelic/Desktop/Fire.app/Contents/Resources/lld --setting:Elements:DSymUtilExePath=/Users/ndelic/Desktop/Fire.app/Contents/Resources/dsymutil --setting:Elements:ToffeeHelperExePath=/Users/ndelic/Desktop/Fire.app/Contents/Resources/ToffeeHelper /Users/ndelic/Downloads/AndroidClassLibrary/AndroidClassLibrary.sln --logger:fire --configuration:Debug --no-goal --debug --statistics --verbosity:diagnostic --xml:/var/folders/yr/_5628b_s20954l48b837j_pc0000gn/T/AndroidClassLibrary.fire.xml --build --setting:TreatFixableErrorsAsWarnings=True
RemObjects EBuild. An open source build engine for Elements and beyond.
Copyright RemObjects Software 2016-2021. All Rights Reserved. Created by marc hoffman.
Version 10.0.0.2613 (develop) built on bajor, 20210319-160703. Commit 8429780.

   -> Task RemObjects.EBuild.BuildSolution started.
      -> Project AndroidClassLibrary started.
         -- Task RemObjects.EBuild.Elements.ElementsProjectPreBuildTask skipped for AndroidClassLibrary, condition not met.
         -> Task RemObjects.EBuild.Elements.ElementsBuildProject started for AndroidClassLibrary.
            -> Task RemObjects.EBuild.Elements.ElementsExpandCopyToOutputDirectoryPaths started for AndroidClassLibrary.
            <- Task RemObjects.EBuild.Elements.ElementsExpandCopyToOutputDirectoryPaths finished for AndroidClassLibrary, took 0.0113s (0.012s).
            -> Task RemObjects.EBuild.Elements.ElementsApplyLegacySettings started for AndroidClassLibrary, Cooper-Android.
            <- Task RemObjects.EBuild.Elements.ElementsApplyLegacySettings finished for AndroidClassLibrary, Cooper-Android, took 0.0038s (0.004s).
            -> Task RemObjects.EBuild.Elements.ElementsSanityCheck started for AndroidClassLibrary, Cooper-Android.
            <- Task RemObjects.EBuild.Elements.ElementsSanityCheck finished for AndroidClassLibrary, Cooper-Android, took 0.0014s (0.001s).
            -> Task RemObjects.EBuild.Elements.ElementsPreparePlatforms started for AndroidClassLibrary.
               Preparing target 'Cooper-Android' (platform 'Cooper').
D:             Target-specific Settings, before prepare
D:               - <Mode = Cooper [Target: Cooper-Android]>
D:               - <SubMode = Android [Target: Cooper-Android]>
               -> Task RemObjects.EBuild.Elements.ElementsPreflightCooper started for AndroidClassLibrary.
                  JDK found in '/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home'.
                  Java executable found at '/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java'.
               <- Task RemObjects.EBuild.Elements.ElementsPreflightCooper finished for AndroidClassLibrary, took 0.0855s (0.085s).
               -> Task RemObjects.EBuild.Elements.ElementsPrepareCooperPlatform started for AndroidClassLibrary, Cooper-Android.
E:                Value cannot be null.
Parameter name: aCommand //  Value cannot be null.
Parameter name: aCommand
D:                |   at RemObjects.Elements.RTL.Process.Run (System.String aCommand, System.Collections.Generic.List`1[T] aArguments, System.Collections.Generic.Dictionary`2[TKey,TValue] aEnvironment, System.String aWorkingDirectory, System.String& aStdOut, System.String& aStdErr) [0x00003] in <698cbf585ccd4e4d8250713cf18b8bac>:0 .
D:                |   at RemObjects.EBuild.Elements.ElementsPrepareCooperPlatform.Execute () [0x00145] in <9faf8aac5bdf4fc6b3c403d23de03445>:0 .
D:                |   at RemObjects.EBuild.EBuildContext.RunTask________forTarget (RemObjects.EBuild.EBuildTask+MetaClass aTask, RemObjects.EBuild.EBuildValues aSettings, RemObjects.EBuild.EBuildObjects aObjects, RemObjects.EBuild.EBuildTarget aTarget) [0x003b0] in <a157f6913c1e46e9abac74e56babb1aa>:0 .
               <- Task RemObjects.EBuild.Elements.ElementsPrepareCooperPlatform failed with exception Value cannot be null.
Parameter name: aCommand for AndroidClassLibrary, Cooper-Android, took 0.0000s (0.107s).
D:             |   at RemObjects.Elements.RTL.Process.Run (System.String aCommand, System.Collections.Generic.List`1[T] aArguments, System.Collections.Generic.Dictionary`2[TKey,TValue] aEnvironment, System.String aWorkingDirectory, System.String& aStdOut, System.String& aStdErr) [0x00003] in <698cbf585ccd4e4d8250713cf18b8bac>:0 
D:             |   at RemObjects.EBuild.Elements.ElementsPrepareCooperPlatform.Execute () [0x00145] in <9faf8aac5bdf4fc6b3c403d23de03445>:0 
D:             |   at RemObjects.EBuild.EBuildContext.RunTask________forTarget (RemObjects.EBuild.EBuildTask+MetaClass aTask, RemObjects.EBuild.EBuildValues aSettings, RemObjects.EBuild.EBuildObjects aObjects, RemObjects.EBuild.EBuildTarget aTarget) [0x003b0] in <a157f6913c1e46e9abac74e56babb1aa>:0 
D:             Target-specific Settings, after prepare
D:               - <AarCacheFolder = /Users/ndelic/Library/Application Support/RemObjects Software/EBuild/Obj/AndroidClassLibrary-596C06B77E2A7589AAEAB265ED75A6B460E2DA6D/Debug/Cooper-Android/aar [Target: Cooper-Android]>
D:               - <Mode = Cooper [Target: Cooper-Android]>
D:               - <SubMode = Android [Target: Cooper-Android]>
            <- Task RemObjects.EBuild.Elements.ElementsPreparePlatforms failed for AndroidClassLibrary, took 0.1256s (0.127s).
         <- Task RemObjects.EBuild.Elements.ElementsBuildProject failed for AndroidClassLibrary, took 0.0000s (0.165s).
      <- Project AndroidClassLibrary failed, took 0.165s.
      Project 'AndroidClassLibrary' failed to build.
      Solution 'AndroidClassLibrary' failed to build project 'AndroidClassLibrary'.
   <- Task RemObjects.EBuild.BuildSolution failed for AndroidClassLibrary, took 0.1893s (0.192s).

     net time    gross time   task
-------------  ------------   -------------------------------
       0.000s        0.108s   ElementsPrepareCooperPlatform 
       0.000s        0.128s   ElementsPreCompile 
       0.000s        0.136s   ElementsCompile 
       0.000s        0.137s   ElementsLink 
       0.000s        0.138s   ElementsDetermineFinalOutput 
       0.000s        0.161s   ElementsCopyFinalOutput 
       0.000s        0.165s   ElementsBuildProject 
       0.001s        0.001s   ElementsSanityCheck 
       0.003s        0.004s   ElementsApplyLegacySettings 
       0.011s        0.021s   ElementsExpandCopyToOutputDirectoryPaths 
       0.085s        0.085s   ElementsPreflightCooper 
       0.125s        0.128s   ElementsPreparePlatforms 
       0.189s        0.192s   BuildSolution

that helps narrow it down a bit. I’;m guessing an incomplete Android Studio out Java SDK install, that I don’t handle right. left me see…

it has to be this:

  if Process.Run(CooperPaths.Instance.JavaExecutable, ["--version"], out var lStdOut) = 0 then begin

it cant find the Java executable. I’ll add a proper check, but something isn’t right. Do you have Android Studio installed?

Actually, my bad,; it runs the wring version of java for this check, for Android projects.

Workaround: install a new Java SDK/OpenJDK on your machine. it won’t affect the build otherwise, but get you past this error. fixed for vNext.

So this should work in the next (public) release? In that case I can wait.

yes, this is fixed for Friday’s update (which I hope will be public/stable)