Droid的单声道:缺少__ANDROID__符号

时间:2012-05-23 15:21:57

标签: android compilation mono conditional symbols

在这个有趣的网络研讨会上:

http://www.youtube.com/watch?v=WkNbRUqnSSc

发言者谈论__ANDROID__符号(和其他更符合每个操作系统版本的符号),这些符号可以帮助开发人员编写更清晰的跨平台代码。

我用MonoDevelop 2.8(在MacOS X下)创建了一个项目,似乎没有在项目中定义符号。

调查这个问题,我注意到定义符号(使用项目属性面板)并不总是在MonoDevelop中工作,并且它们经常使用颜色编码创建奇怪的东西。

1 个答案:

答案 0 :(得分:3)

这是当前MonoDevelop环境中的一个小故障。 __ANDROID__是在低级构建过程中定义的,而不是csproj。所以代码编译好了,但编辑器会非常困惑。

我用Xamarin创建了一个bug/enhancement request因为这可以绊倒newbs(它帮了我!)。

monodroid邮件列表中的thread有更多信息。

由于每个平台都有独特的csproj文件 - 即使是共享代码 - 我只是创建自己的符号来解决这个问题。在MonoDevelop中:项目属性,Build-> Compiler,Define Symbols。