use*_*392 1 c# android xamarin.android xamarin xamarin.forms
我注意到,如果你有一个图像文件(PNG或SVG和可能的非图像文件也是如此),并希望其重命名为default.png,public.svg等等,那么Android将抛出一个编译器错误使用Invalid symbol: [file name].我在某处读过这是因为这些是C#保留关键字.我不明白的是为什么这些关键字与文件名有关,以及为什么它们似乎只是在Android而不是其他平台上引起问题.这是一个bug还是设计?
这是"按设计"......
在构建过程中,首先运行一个名为Android Asset Packaging Tool(aapt和aapt2)的工具,该工具生成一个名为R.java将资源名称映射到int值的Java文件.(注意:aapt | 2是谷歌Android工具,而不是MSFT/Xamarin工具)
因此,一个可绘制的名称public.png会在R.java文件中生成如下内容:
public static int public=0x7f020023;
Run Code Online (Sandbox Code Playgroud)
并且这些值也由Xamarin通过自动生成的Resource.designer.cs文件映射到C#世界,因此
public const int public = 2130837539;
Run Code Online (Sandbox Code Playgroud)
在Java/C#文件中使用这些语言关键字作为变量名将导致编译错误.
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |