是否可以从Linux CLI为Android编译Xamarin?
我们有一个Android应用程序,根据每个客户端使用自定义信息进行编译。 目前,我们的应用程序是使用Ionic构建的,因此当用户要求下载APK时,我们会自动相应地修改其源代码,编译应用程序并从客户端提供下载。 所有这些都是在Linux服务器上完成的 我们现在想离开爱奥尼亚,在我们的新版本中使用Xamarin。但我们需要实现与以前相同的过程。是否可以从Linux CLI为Android编译Xamarin?,android,xamarin,xamarin.android,Android,Xamarin,Xamarin.android,我们有一个Android应用程序,根据每个客户端使用自定义信息进行编译。 目前,我们的应用程序是使用Ionic构建的,因此当用户要求下载APK时,我们会自动相应地修改其源代码,编译应用程序并从客户端提供下载。 所有这些都是在Linux服务器上完成的 我们现在想离开爱奥尼亚,在我们的新版本中使用Xamarin。但我们需要实现与以前相同的过程。 那么,是否有可能像我们构建安卓系统那样,从Linux编译针对安卓系统的Xamarin呢?简短的回答是:是的,但是 Linux目前不是Microsoft/Xa
那么,是否有可能像我们构建安卓系统那样,从Linux编译针对安卓系统的Xamarin呢?简短的回答是:是的,但是 Linux目前不是Microsoft/Xamarin发布的
Xamarin.Android
分布式预打包版本所支持的环境,但是使用开源代码,您可以在Linux上构建Xamarin.Android
,然后在Xamarin.Android
项目上使用xabuild
注意:在设置、环境、bug等方面,您都是独立的。。。(但开源代码是在Ubuntu构建服务器上构建的,详情请参见Github repo)
Github回购协议:
参考:
新参考号:
旧的参考文献:是的,这是可能的,不过一旦.NET5出现,它会变得容易得多 使用此docker图像(直接或出于灵感): 然后运行msbuildsolutionfile.sln/p:androidsdkddirectory=/android/sdk/restore我在Linux Mint机器上尝试过
docker pull vonproteus/xamarin-android-docker
然后
只需将~/Downloads/Helloworld/
和Helloworld.Android/Helloworld.Android.csproj
更改为您的项目位置和Android项目名称
-v~/Downloads/Helloworld/:/test
表示我们正在docker中创建一个虚拟目录,以便msbuild可以工作msbuild
将抛出msbuild:错误MSB1009:项目文件不存在。
如果未设置虚拟路径
sudo docker run -v ~/Downloads/Helloworld/:/test vonproteus/xamarin-android-docker msbuild test/Helloworld.Android/Helloworld.Android.csproj /restore /p:AndroidSdkDirectory=/android/sdk /p:AndroidBuildApplicationPackage=true