Nathan
Nathan

Reputation: 7709

Cannot build xamarin forms android project from commandline using msbuild

I am trying to setup a jenkins job to build my xamarin forms android project.

I am invoking it like this:

msbuild project/project.droid/project.droid.csproj /p:Configuration=Release /t:PackageForAndroid /v:diag

After a while I run into these errors:

obj\Release\android\src\android\support\v7\widget\Toolbar_NavigationOnClickEventDispatcher.java(27,76): javac.exe error :  error: cannot find symbol [...]
obj\Release\android\src\android\support\v7\widget\Toolbar_NavigationOnClickEventDispatcher.java(27,76): javac.exe error :   public Toolbar_NavigationOnClickEventDispatcher (android.support.v7.widget.Toolbar p0) throws java.lang.Throwable [...]
obj\Release\android\src\android\support\v7\widget\Toolbar_NavigationOnClickEventDispatcher.java(27,76): javac.exe error :   symbol:   class Toolbar [...]
obj\Release\android\src\android\support\v7\widget\Toolbar_NavigationOnClickEventDispatcher.java(27,76): javac.exe error :   location: package android.support.v7.widget [...]
obj\Release\android\src\android\support\v7\widget\Toolbar_NavigationOnClickEventDispatcher.java(27,76): javac.exe error :  [...]
obj\Release\android\src\md5270abb39e60627f0f200893b490a1ade\CarouselPageRenderer.java(8,36): javac.exe error :  error: package android.support.v4.view.ViewPager does not exist [...]

And a lot more.

When I first build the project in Visual Studio 2015, and then run the command, it works. But that is no solution for my jenkins.

How can I fix this?

Upvotes: 0

Views: 495

Answers (1)

Nathan
Nathan

Reputation: 7709

The problem was, that jenkins was running as the default system user, but my xamarin installation was for my user.

I did not figure out how to install xamarin into the system user, but I changed jenkins to run as my user. Here is how:

  • Go to start menu, run
  • insert services.msc
  • in the service list find Jenkins, right click, Properties
  • Go to Log on tap
  • Select "This account" for "Log on as:" and insert your user credentials.
  • Click Ok
  • Restart the Jenkins service by right-clicking it and selecting "Restart"

Upvotes: 1

Related Questions