【发布时间】:2014-04-28 08:22:18
【问题描述】:
我的公司拥有多个 Xamarin.Android 的商业许可证,我们希望在我们的 CI 服务器上使用它。但是,似乎我需要在我的 CI 服务器上安装完整的 Xamarin 套件,包括 Visual Studio Pro 才能完成这项工作。我的问题是,使用 vanilla Xamarin.Android 包,我该如何激活它?
似乎自行安装它会添加要构建的 Xamarin.Android 工具和库,但我无法找到激活它的方法,因此当我尝试使用 MSBuild 构建时,构建失败并出现此错误:
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(299,2):错误 XA9008:从命令行构建需要ÿBusinessÿ许可证。
现在,经过一番谷歌搜索,我发现激活工具名为“mandroid.exe”,可以在 C:\Program Files (x86)\MSBuild\Xamarin\Android 中找到 - 虽然我找到了对这也在 64 位程序文件中。
很遗憾,我在此工具上找不到任何合适的文档。每次我找到有人讨论这个问题的线程时,Xamarin 的某个人就会跳进来说“联系 support@xamarin.com”。过了一会儿,我这样做了,但两个工作日后仍然没有回复,而且我还有最后期限要赶上,所以我认为公开记录这个过程可能对所有相关人员有所帮助。
我发现的最好的东西来自thread on the Xamarin mailing list,它引用了这个调用:
mandroid.exe --activate --name "NAME" --company "COMPANY" --email "EMAIL" --phone "PHONE" --code "ACTIVATION CODE"
我还发现了这个调用的另一种变体,如下所示:
.\mandroid.exe –activate –activation-name="NAME" –activation-phone="PHONE" –activation-company="COMPANY" –activation-code="CODE" –activation-email="EMAIL"
我在这里使用这两种调用尝试了我的帐户数据的许多排列 - 使用来自 Xamarin 商店的products page 的激活码。无论如何,都会发生此错误:
\mandroid.exe : monodroid: error XA9997: 为完成激活提供的数据不完整
在“激活问题?”产品页面的部分,上面写着:
在 Android 1.0.21316 及更高版本的 Mono 中,如果在 Visual Studio 中激活失败,则会在 Documents 文件夹中创建一个 MfaActivation.dat 文件。在下面选择这个文件。
也许有一些方法可以强制这个文件由 mandroid.exe 创建?那将非常有帮助。虽然我认为离线激活是完成这项工作的唯一方法,但我会接受任何涉及上传 MfaActivation.dat 或以其他方式调用在线激活机制的答案。
【问题讨论】: