请问如何将C#程序变成手机软件?

或者说将C#代码编译成apk文件

1.需要会Java吗?

2.还有,C#可以调用手机上的蓝牙吗?具体代码怎么写?

xamarin,蓝牙就相当于一个串口