找回密码
 立即注册
首页 业界区 业界 记一次.NET MAUI项目中绑定Android库实现硬件控制的开发 ...

记一次.NET MAUI项目中绑定Android库实现硬件控制的开发经历

樊涵菡 7 天前
前言

最近AI小智对话机器人实在是太火了,于是我就把我之前的一个吃灰的安卓桌面机器人给拿出来玩了,我想着基于安卓的系统开发一些自己的软件操作它,我翻了下官方文档也是有提供SDK的,于是我就开始了这个开发尝试。机器人本身是有丰富的传感器,也有完整的麦克风摄像头可以用,那做个会动的小智机器人刚刚好,第一步肯定是先让它能够按我的操作动起来。
这个过程虽然有一些小坑,但最终成功实现了完整的硬件控制功能。今天就来分享一下这次Android库绑定的完整经历,希望能帮助到有类似需求的小伙伴们。
1.png


问题解答

Q: 为什么选择.NET MAUI来进行开发?
A: .NET MAUI本身是支持跨平台开发的,这是选择它的主要原因之一。还有就是我之前比较熟悉WinUI开发,对xaml的语法也算是比较熟悉,当然跨平台还有Avalonia UI,这个社区活跃度比.NET MAUI还高,但是由于MAUI能够满足我的需求,暂时还没尝试这个框架,大家有兴趣的可以试试它。
2.png

名词解释


  • .NET MAUI:.NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。使用 .NET MAUI,可以从单个共享代码库开发可在 Android、iOS、macOS 和 Windows 上运行的应用。
    3.png

准备工作

在开始编码之前,我们需要准备以下环境:
软件环境


  • Visual Studio 2022
  • .NET 9 SDK
  • Visual Studio 2022要安装MAUI的工作负载,并且记得创建安卓虚拟机。
4.png

项目背景

这次要集成的是一个机器人控制SDK(RobotSDK),它以AAR格式提供,包含了机器人的运动控制、传感器监听、表情控制、语音播放等功能。我们的目标是在.NET MAUI应用中使用这些原生功能,实现跨平台的机器人控制应用。
技术选型和架构设计

整体架构
  1. ┌─────────────────────┐<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  2.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  3. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  4.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  5. </ItemGroup>┌──────────────────────┐<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  6.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  7. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  8.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  9. </ItemGroup>┌─────────────────────┐
  10. │<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  11.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  12. </ItemGroup>MAUI UI Layer<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  13.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  14. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  15.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  16. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  17.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  18. </ItemGroup>│<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  19.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  20. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  21.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  22. </ItemGroup>│<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  23.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  24. </ItemGroup>Service Interface<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  25.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  26. </ItemGroup> │<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  27.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  28. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  29.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  30. </ItemGroup>│<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  31.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  32. </ItemGroup>Platform Services<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  33.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  34. </ItemGroup>│
  35. │<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  36.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  37. </ItemGroup>(MainPage.xaml)<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  38.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  39. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  40.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  41. </ItemGroup>│◄──►│<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  42.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  43. </ItemGroup>IRobotControlService│◄──►│<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  44.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  45. </ItemGroup>AndroidRobotControl│
  46. │<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  47.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  48. </ItemGroup>ViewModels<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  49.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  50. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  51.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  52. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  53.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  54. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  55.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  56. </ItemGroup> │<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  57.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  58. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  59.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  60. </ItemGroup>│<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  61.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  62. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  63.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  64. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  65.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  66. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  67.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  68. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  69.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  70. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  71.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  72. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  73.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  74. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  75.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  76. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  77.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  78. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  79.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  80. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  81.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  82. </ItemGroup>│<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  83.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  84. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  85.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  86. </ItemGroup>│<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  87.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  88. </ItemGroup>DefaultRobotControl│
  89. └─────────────────────┘<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  90.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  91. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  92.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  93. </ItemGroup>└──────────────────────┘<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  94.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  95. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  96.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  97. </ItemGroup>└─────────────────────┘
  98. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  99.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  100. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  101.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  102. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  103.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  104. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  105.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  106. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  107.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  108. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  109.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  110. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  111.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  112. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  113.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  114. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  115.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  116. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  117.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  118. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  119.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  120. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  121.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  122. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  123.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  124. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  125.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  126. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  127.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  128. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  129.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  130. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  131.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  132. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  133.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  134. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  135.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  136. </ItemGroup>│
  137. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  138.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  139. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  140.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  141. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  142.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  143. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  144.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  145. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  146.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  147. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  148.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  149. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  150.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  151. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  152.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  153. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  154.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  155. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  156.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  157. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  158.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  159. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  160.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  161. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  162.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  163. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  164.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  165. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  166.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  167. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  168.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  169. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  170.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  171. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  172.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  173. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  174.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  175. </ItemGroup>▼
  176. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  177.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  178. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  179.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  180. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  181.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  182. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  183.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  184. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  185.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  186. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  187.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  188. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  189.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  190. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  191.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  192. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  193.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  194. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  195.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  196. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  197.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  198. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  199.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  200. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  201.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  202. </ItemGroup> ┌──────────────────────┐
  203. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  204.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  205. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  206.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  207. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  208.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  209. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  210.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  211. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  212.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  213. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  214.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  215. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  216.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  217. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  218.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  219. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  220.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  221. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  222.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  223. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  224.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  225. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  226.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  227. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  228.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  229. </ItemGroup> │ RobotSDK.Android<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  230.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  231. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  232.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  233. </ItemGroup> │
  234. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  235.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  236. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  237.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  238. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  239.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  240. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  241.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  242. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  243.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  244. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  245.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  246. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  247.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  248. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  249.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  250. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  251.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  252. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  253.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  254. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  255.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  256. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  257.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  258. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  259.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  260. </ItemGroup> │ Binding Library<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  261.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  262. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  263.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  264. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  265.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  266. </ItemGroup>│
  267. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  268.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  269. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  270.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  271. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  272.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  273. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  274.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  275. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  276.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  277. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  278.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  279. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  280.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  281. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  282.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  283. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  284.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  285. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  286.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  287. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  288.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  289. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  290.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  291. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  292.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  293. </ItemGroup> │ (AAR Wrapper)<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  294.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  295. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  296.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  297. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  298.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  299. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  300.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  301. </ItemGroup>│
  302. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  303.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  304. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  305.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  306. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  307.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  308. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  309.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  310. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  311.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  312. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  313.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  314. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  315.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  316. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  317.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  318. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  319.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  320. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  321.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  322. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  323.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  324. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  325.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  326. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  327.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  328. </ItemGroup> └──────────────────────┘
  329. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  330.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  331. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  332.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  333. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  334.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  335. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  336.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  337. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  338.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  339. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  340.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  341. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  342.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  343. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  344.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  345. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  346.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  347. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  348.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  349. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  350.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  351. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  352.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  353. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  354.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  355. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  356.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  357. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  358.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  359. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  360.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  361. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  362.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  363. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  364.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  365. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  366.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  367. </ItemGroup>│
  368. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  369.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  370. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  371.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  372. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  373.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  374. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  375.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  376. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  377.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  378. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  379.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  380. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  381.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  382. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  383.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  384. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  385.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  386. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  387.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  388. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  389.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  390. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  391.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  392. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  393.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  394. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  395.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  396. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  397.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  398. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  399.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  400. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  401.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  402. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  403.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  404. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  405.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  406. </ItemGroup>▼
  407. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  408.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  409. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  410.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  411. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  412.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  413. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  414.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  415. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  416.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  417. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  418.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  419. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  420.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  421. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  422.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  423. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  424.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  425. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  426.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  427. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  428.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  429. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  430.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  431. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  432.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  433. </ItemGroup> ┌──────────────────────┐
  434. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  435.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  436. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  437.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  438. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  439.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  440. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  441.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  442. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  443.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  444. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  445.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  446. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  447.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  448. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  449.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  450. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  451.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  452. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  453.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  454. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  455.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  456. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  457.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  458. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  459.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  460. </ItemGroup> │ Native Android<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  461.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  462. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  463.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  464. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  465.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  466. </ItemGroup> │
  467. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  468.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  469. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  470.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  471. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  472.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  473. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  474.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  475. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  476.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  477. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  478.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  479. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  480.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  481. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  482.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  483. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  484.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  485. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  486.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  487. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  488.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  489. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  490.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  491. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  492.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  493. </ItemGroup> │ RobotSDK AAR<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  494.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  495. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  496.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  497. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  498.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  499. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  500.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  501. </ItemGroup> │
  502. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  503.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  504. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  505.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  506. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  507.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  508. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  509.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  510. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  511.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  512. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  513.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  514. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  515.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  516. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  517.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  518. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  519.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  520. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  521.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  522. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  523.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  524. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  525.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  526. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  527.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  528. </ItemGroup> │ (Hardware Control)<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  529.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  530. </ItemGroup> │
  531. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  532.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  533. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  534.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  535. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  536.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  537. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  538.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  539. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  540.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  541. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  542.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  543. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  544.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  545. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  546.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  547. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  548.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  549. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  550.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  551. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  552.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  553. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  554.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  555. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  556.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  557. </ItemGroup> └──────────────────────┘
复制代码
核心技术栈


  • .NET 9.0 MAUI - 跨平台UI框架
  • Android Binding Library - AAR库绑定
  • Dependency Injection - 服务注册和平台特定实现
  • MVVM模式 - 数据绑定和状态管理
第一步:创建Android绑定库项目

官方参考文档如下:
Binding a Java library
首先创建一个专门的Android绑定库项目来包装原生AAR文件:
使用下面的指令进行项目的创建
  1. dotnet new android-bindinglib
复制代码
  1. <Project Sdk="Microsoft.NET.Sdk">
  2. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  3.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  4. </ItemGroup><PropertyGroup>
  5. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  6.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  7. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  8.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  9. </ItemGroup><TargetFramework>net9.0-android</TargetFramework>
  10. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  11.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  12. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  13.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  14. </ItemGroup><Nullable>enable</Nullable>
  15. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  16.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  17. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  18.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  19. </ItemGroup><ImplicitUsings>enable</ImplicitUsings>
  20. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  21.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  22. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  23.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  24. </ItemGroup><SupportedOSPlatformVersion>24.0</SupportedOSPlatformVersion>
  25. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  26.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  27. </ItemGroup></PropertyGroup>
  28. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  29.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  30. </ItemGroup>
  31. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  32.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  33. </ItemGroup><ItemGroup>
  34. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  35.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  36. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  37.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  38. </ItemGroup>
  39. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  40.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  41. </ItemGroup></ItemGroup>
  42. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  43.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  44. </ItemGroup>
  45. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  46.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  47. </ItemGroup><ItemGroup>
  48. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  49.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  50. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  51.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  52. </ItemGroup><TransformFile Include="Transforms\Metadata.xml" />
  53. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  54.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  55. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  56.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  57. </ItemGroup><TransformFile Include="Transforms\EnumFields.xml" />
  58. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  59.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  60. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  61.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  62. </ItemGroup><TransformFile Include="Transforms\EnumMethods.xml" />
  63. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  64.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  65. </ItemGroup></ItemGroup>
  66. </Project>
复制代码
关键配置说明


  • 目标框架:使用net9.0-android确保与MAUI项目兼容
  • 最低Android版本:设置为API 24,确保设备兼容性
  • AAR文件引用:通过AndroidLibrary引用原生库文件
  • 转换文件:用于处理Java到C#的类型映射
第二步:处理绑定过程中的常见问题

在绑定过程中,经常会遇到一些类型映射和命名冲突问题,这时候就需要用到Transforms文件夹中的配置文件:
由于目前的项目比较简单,这部分的映射文件我就使用了项目默认生成的了。
大家有需要可以看官方文档的一些注意事项。
自定义绑定
第三步:设计服务接口和平台实现

为了保证代码的可测试性和平台兼容性,我设计了一套清晰的服务接口:
服务接口定义
  1. public interface IRobotControlService : IRobotSensorEvents
  2. {
  3. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  4.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  5. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  6.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  7. </ItemGroup>// 基础控制
  8. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  9.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  10. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  11.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  12. </ItemGroup>Task<bool> InitializeAsync();
  13. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  14.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  15. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  16.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  17. </ItemGroup>bool IsServiceAvailable { get; }
  18. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  19.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  20. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  21.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  22. </ItemGroup>
  23. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  24.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  25. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  26.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  27. </ItemGroup>// 传感器控制
  28. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  29.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  30. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  31.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  32. </ItemGroup>Task StartSensorMonitoringAsync();
  33. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  34.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  35. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  36.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  37. </ItemGroup>Task StopSensorMonitoringAsync();
  38. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  39.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  40. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  41.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  42. </ItemGroup>
  43. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  44.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  45. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  46.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  47. </ItemGroup>// 运动控制
  48. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  49.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  50. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  51.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  52. </ItemGroup>Task MoveForwardAsync(int speed = 3, int steps = 1);
  53. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  54.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  55. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  56.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  57. </ItemGroup>Task MoveBackwardAsync(int speed = 3, int steps = 1);
  58. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  59.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  60. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  61.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  62. </ItemGroup>Task TurnLeftAsync(int speed = 3, int steps = 1);
  63. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  64.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  65. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  66.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  67. </ItemGroup>Task TurnRightAsync(int speed = 3, int steps = 1);
  68. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  69.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  70. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  71.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  72. </ItemGroup>
  73. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  74.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  75. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  76.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  77. </ItemGroup>// 表情和语音
  78. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  79.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  80. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  81.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  82. </ItemGroup>Task ShowExpressionAsync(string expression);
  83. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  84.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  85. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  86.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  87. </ItemGroup>Task SpeakAsync(string text);
  88. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  89.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  90. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  91.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  92. </ItemGroup>Task SpeakWithExpressionAsync(string text, string expression);
  93. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  94.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  95. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  96.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  97. </ItemGroup>
  98. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  99.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  100. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  101.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  102. </ItemGroup>// 硬件控制
  103. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  104.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  105. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  106.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  107. </ItemGroup>Task EnableMotorAsync();
  108. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  109.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  110. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  111.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  112. </ItemGroup>Task DisableMotorAsync();
  113. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  114.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  115. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  116.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  117. </ItemGroup>Task SetAntennaLightAsync(int color);
  118. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  119.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  120. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  121.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  122. </ItemGroup>Task MoveAntennaAsync(int cmd, int step, int speed, int angle);
  123. }
  124. public interface IRobotSensorEvents
  125. {
  126. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  127.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  128. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  129.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  130. </ItemGroup>event EventHandler? TapDetected;
  131. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  132.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  133. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  134.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  135. </ItemGroup>event EventHandler? DoubleTapDetected;
  136. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  137.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  138. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  139.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  140. </ItemGroup>event EventHandler? LongPressDetected;
  141. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  142.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  143. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  144.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  145. </ItemGroup>event EventHandler? FallBackwardDetected;
  146. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  147.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  148. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  149.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  150. </ItemGroup>event EventHandler? FallForwardDetected;
  151. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  152.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  153. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  154.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  155. </ItemGroup>event EventHandler? FallRightDetected;
  156. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  157.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  158. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  159.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  160. </ItemGroup>event EventHandler? FallLeftDetected;
  161. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  162.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  163. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  164.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  165. </ItemGroup>event EventHandler? TofDetected;
  166. }
复制代码
Android平台实现的核心要点
  1. public class AndroidRobotControlService : IRobotControlService
  2. {
  3. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  4.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  5. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  6.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  7. </ItemGroup>private readonly ILogger _logger;
  8. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  9.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  10. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  11.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  12. </ItemGroup>private readonly Context _context;
  13. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  14.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  15. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  16.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  17. </ItemGroup>private RobotService? _robotService;
  18. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  19.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  20. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  21.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  22. </ItemGroup>private SensorCallbackImpl? _sensorCallback;
  23. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  24.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  25. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  26.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  27. </ItemGroup>
  28. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  29.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  30. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  31.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  32. </ItemGroup>public async Task<bool> InitializeAsync()
  33. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  34.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  35. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  36.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  37. </ItemGroup>{
  38. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  39.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  40. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  41.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  42. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  43.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  44. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  45.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  46. </ItemGroup>try
  47. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  48.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  49. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  50.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  51. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  52.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  53. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  54.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  55. </ItemGroup>{
  56. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  57.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  58. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  59.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  60. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  61.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  62. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  63.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  64. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  65.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  66. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  67.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  68. </ItemGroup>_logger.LogInformation("初始化Android机器人服务...");
  69. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  70.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  71. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  72.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  73. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  74.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  75. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  76.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  77. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  78.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  79. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  80.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  81. </ItemGroup>
  82. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  83.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  84. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  85.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  86. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  87.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  88. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  89.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  90. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  91.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  92. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  93.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  94. </ItemGroup>// 获取原生SDK实例
  95. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  96.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  97. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  98.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  99. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  100.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  101. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  102.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  103. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  104.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  105. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  106.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  107. </ItemGroup>_robotService = RobotService.GetInstance(_context);
  108. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  109.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  110. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  111.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  112. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  113.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  114. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  115.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  116. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  117.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  118. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  119.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  120. </ItemGroup>
  121. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  122.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  123. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  124.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  125. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  126.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  127. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  128.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  129. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  130.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  131. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  132.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  133. </ItemGroup>if (_robotService == null)
  134. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  135.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  136. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  137.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  138. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  139.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  140. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  141.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  142. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  143.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  144. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  145.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  146. </ItemGroup>{
  147. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  148.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  149. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  150.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  151. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  152.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  153. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  154.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  155. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  156.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  157. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  158.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  159. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  160.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  161. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  162.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  163. </ItemGroup>_logger.LogError("无法获取RobotService实例");
  164. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  165.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  166. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  167.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  168. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  169.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  170. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  171.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  172. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  173.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  174. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  175.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  176. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  177.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  178. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  179.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  180. </ItemGroup>return false;
  181. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  182.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  183. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  184.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  185. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  186.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  187. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  188.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  189. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  190.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  191. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  192.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  193. </ItemGroup>}
  194. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  195.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  196. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  197.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  198. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  199.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  200. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  201.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  202. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  203.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  204. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  205.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  206. </ItemGroup>
  207. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  208.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  209. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  210.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  211. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  212.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  213. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  214.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  215. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  216.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  217. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  218.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  219. </ItemGroup>// 创建回调桥接
  220. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  221.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  222. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  223.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  224. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  225.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  226. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  227.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  228. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  229.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  230. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  231.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  232. </ItemGroup>_sensorCallback = new SensorCallbackImpl(
  233. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  234.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  235. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  236.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  237. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  238.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  239. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  240.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  241. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  242.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  243. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  244.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  245. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  246.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  247. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  248.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  249. </ItemGroup>onTap: () => TapDetected?.Invoke(this, EventArgs.Empty),
  250. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  251.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  252. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  253.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  254. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  255.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  256. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  257.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  258. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  259.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  260. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  261.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  262. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  263.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  264. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  265.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  266. </ItemGroup>onDoubleTap: () => DoubleTapDetected?.Invoke(this, EventArgs.Empty),
  267. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  268.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  269. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  270.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  271. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  272.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  273. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  274.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  275. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  276.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  277. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  278.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  279. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  280.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  281. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  282.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  283. </ItemGroup>onLongPress: () => LongPressDetected?.Invoke(this, EventArgs.Empty),
  284. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  285.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  286. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  287.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  288. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  289.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  290. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  291.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  292. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  293.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  294. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  295.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  296. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  297.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  298. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  299.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  300. </ItemGroup>// ... 其他传感器事件
  301. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  302.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  303. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  304.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  305. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  306.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  307. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  308.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  309. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  310.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  311. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  312.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  313. </ItemGroup>);
  314. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  315.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  316. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  317.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  318. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  319.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  320. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  321.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  322. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  323.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  324. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  325.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  326. </ItemGroup>
  327. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  328.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  329. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  330.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  331. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  332.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  333. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  334.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  335. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  336.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  337. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  338.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  339. </ItemGroup>// 自动启用电机
  340. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  341.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  342. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  343.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  344. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  345.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  346. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  347.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  348. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  349.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  350. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  351.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  352. </ItemGroup>_robotService.RobotOpenMotor();
  353. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  354.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  355. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  356.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  357. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  358.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  359. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  360.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  361. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  362.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  363. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  364.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  365. </ItemGroup>await Task.Delay(500);
  366. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  367.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  368. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  369.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  370. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  371.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  372. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  373.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  374. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  375.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  376. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  377.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  378. </ItemGroup>
  379. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  380.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  381. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  382.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  383. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  384.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  385. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  386.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  387. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  388.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  389. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  390.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  391. </ItemGroup>_isInitialized = true;
  392. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  393.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  394. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  395.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  396. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  397.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  398. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  399.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  400. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  401.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  402. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  403.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  404. </ItemGroup>_logger.LogInformation("Android机器人服务初始化成功");
  405. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  406.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  407. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  408.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  409. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  410.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  411. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  412.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  413. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  414.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  415. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  416.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  417. </ItemGroup>return true;
  418. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  419.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  420. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  421.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  422. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  423.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  424. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  425.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  426. </ItemGroup>}
  427. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  428.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  429. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  430.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  431. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  432.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  433. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  434.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  435. </ItemGroup>catch (Exception ex)
  436. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  437.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  438. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  439.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  440. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  441.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  442. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  443.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  444. </ItemGroup>{
  445. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  446.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  447. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  448.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  449. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  450.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  451. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  452.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  453. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  454.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  455. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  456.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  457. </ItemGroup>_logger.LogError(ex, "初始化Android机器人服务失败");
  458. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  459.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  460. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  461.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  462. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  463.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  464. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  465.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  466. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  467.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  468. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  469.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  470. </ItemGroup>return false;
  471. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  472.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  473. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  474.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  475. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  476.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  477. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  478.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  479. </ItemGroup>}
  480. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  481.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  482. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  483.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  484. </ItemGroup>}
  485. }
复制代码
回调桥接的巧妙设计

为了将Java回调转换为C#事件,我设计了一个回调桥接类:
  1. public class SensorCallbackImpl : Java.Lang.Object, ISensorCallback
  2. {
  3. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  4.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  5. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  6.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  7. </ItemGroup>private readonly Action _onTap;
  8. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  9.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  10. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  11.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  12. </ItemGroup>private readonly Action _onDoubleTap;
  13. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  14.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  15. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  16.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  17. </ItemGroup>private readonly Action _onLongPress;
  18. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  19.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  20. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  21.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  22. </ItemGroup>// ... 其他事件委托
  23. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  24.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  25. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  26.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  27. </ItemGroup>
  28. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  29.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  30. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  31.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  32. </ItemGroup>public SensorCallbackImpl(
  33. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  34.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  35. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  36.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  37. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  38.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  39. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  40.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  41. </ItemGroup>Action onTap,
  42. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  43.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  44. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  45.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  46. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  47.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  48. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  49.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  50. </ItemGroup>Action onDoubleTap,
  51. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  52.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  53. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  54.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  55. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  56.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  57. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  58.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  59. </ItemGroup>Action onLongPress,
  60. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  61.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  62. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  63.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  64. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  65.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  66. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  67.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  68. </ItemGroup>// ... 其他参数
  69. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  70.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  71. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  72.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  73. </ItemGroup>)
  74. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  75.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  76. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  77.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  78. </ItemGroup>{
  79. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  80.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  81. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  82.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  83. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  84.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  85. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  86.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  87. </ItemGroup>_onTap = onTap;
  88. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  89.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  90. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  91.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  92. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  93.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  94. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  95.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  96. </ItemGroup>_onDoubleTap = onDoubleTap;
  97. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  98.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  99. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  100.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  101. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  102.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  103. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  104.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  105. </ItemGroup>_onLongPress = onLongPress;
  106. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  107.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  108. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  109.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  110. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  111.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  112. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  113.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  114. </ItemGroup>// ... 赋值操作
  115. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  116.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  117. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  118.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  119. </ItemGroup>}
  120. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  121.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  122. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  123.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  124. </ItemGroup>
  125. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  126.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  127. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  128.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  129. </ItemGroup>// 实现Java接口方法,转发到C#委托
  130. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  131.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  132. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  133.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  134. </ItemGroup>public void OnTapResponse() => _onTap?.Invoke();
  135. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  136.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  137. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  138.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  139. </ItemGroup>public void OnDoubleTapResponse() => _onDoubleTap?.Invoke();
  140. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  141.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  142. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  143.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  144. </ItemGroup>public void OnLongPressResponse() => _onLongPress?.Invoke();
  145. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  146.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  147. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  148.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  149. </ItemGroup>// ... 其他方法
  150. }
复制代码
第四步:MAUI项目集成和依赖注入配置

项目引用配置

在MAUI项目的csproj文件中,需要有条件地引用Android绑定库:
  1. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  2.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  3. </ItemGroup>
复制代码
服务注册和平台特定实现

在MauiProgram.cs中配置依赖注入:
  1. public static class MauiProgram{<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  2.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  3. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  4.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  5. </ItemGroup>public static MauiApp CreateMauiApp()<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  6.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  7. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  8.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  9. </ItemGroup>{<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  10.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  11. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  12.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  13. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  14.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  15. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  16.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  17. </ItemGroup>var builder = MauiApp.CreateBuilder();<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  18.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  19. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  20.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  21. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  22.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  23. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  24.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  25. </ItemGroup>builder<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  26.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  27. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  28.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  29. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  30.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  31. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  32.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  33. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  34.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  35. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  36.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  37. </ItemGroup>.UseMauiApp()<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  38.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  39. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  40.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  41. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  42.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  43. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  44.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  45. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  46.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  47. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  48.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  49. </ItemGroup>.ConfigureFonts(fonts =><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  50.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  51. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  52.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  53. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  54.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  55. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  56.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  57. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  58.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  59. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  60.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  61. </ItemGroup>{<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  62.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  63. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  64.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  65. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  66.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  67. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  68.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  69. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  70.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  71. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  72.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  73. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  74.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  75. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  76.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  77. </ItemGroup>fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  78.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  79. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  80.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  81. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  82.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  83. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  84.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  85. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  86.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  87. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  88.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  89. </ItemGroup>});<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  90.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  91. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  92.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  93. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  94.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  95. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  96.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  97. </ItemGroup>// 注册服务<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  98.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  99. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  100.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  101. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  102.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  103. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  104.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  105. </ItemGroup>builder.Services.AddSingleton();<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  106.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  107. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  108.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  109. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  110.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  111. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  112.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  113. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  114.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  115. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  116.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  117. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  118.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  119. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  120.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  121. </ItemGroup>// 平台特定服务注册#if ANDROID<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  122.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  123. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  124.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  125. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  126.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  127. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  128.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  129. </ItemGroup>builder.Services.AddSingleton();#else<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  130.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  131. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  132.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  133. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  134.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  135. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  136.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  137. </ItemGroup>builder.Services.AddSingleton();#endif<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  138.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  139. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  140.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  141. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  142.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  143. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  144.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  145. </ItemGroup>// 添加调试日志<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  146.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  147. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  148.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  149. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  150.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  151. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  152.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  153. </ItemGroup>builder.Logging.AddDebug();<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  154.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  155. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  156.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  157. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  158.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  159. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  160.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  161. </ItemGroup>return builder.Build();<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  162.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  163. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  164.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  165. </ItemGroup>}}
复制代码
为什么要有Default实现?

创建DefaultRobotControlService是一个很重要的设计决策:
  1. public class DefaultRobotControlService : IRobotControlService{<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  2.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  3. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  4.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  5. </ItemGroup>private readonly ILogger _logger;<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  6.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  7. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  8.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  9. </ItemGroup>public bool IsServiceAvailable => false;<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  10.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  11. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  12.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  13. </ItemGroup>public Task InitializeAsync()<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  14.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  15. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  16.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  17. </ItemGroup>{<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  18.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  19. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  20.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  21. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  22.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  23. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  24.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  25. </ItemGroup>_logger.LogWarning("机器人控制服务仅在Android平台可用");<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  26.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  27. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  28.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  29. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  30.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  31. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  32.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  33. </ItemGroup>return Task.FromResult(false);<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  34.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  35. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  36.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  37. </ItemGroup>}<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  38.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  39. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  40.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  41. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  42.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  43. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  44.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  45. </ItemGroup>public Task MoveForwardAsync(int speed = 3, int steps = 1)<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  46.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  47. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  48.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  49. </ItemGroup>{<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  50.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  51. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  52.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  53. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  54.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  55. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  56.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  57. </ItemGroup>_logger.LogWarning("动作控制仅在Android平台可用");<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  58.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  59. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  60.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  61. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  62.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  63. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  64.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  65. </ItemGroup>return Task.CompletedTask;<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  66.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  67. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  68.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  69. </ItemGroup>}<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  70.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  71. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  72.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  73. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  74.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  75. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  76.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  77. </ItemGroup>// ... 其他方法的空实现}
复制代码
这样做的好处:

  • 开发效率:可以在Windows上进行UI开发和测试
  • 代码安全:避免运行时出现服务注册失败
  • 团队协作:团队成员无需Android设备即可进行开发
第五步:UI设计和圆形屏幕适配

考虑到目标设备是圆形屏幕的机器人,UI设计也做了特殊适配:
  1. <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  2.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  3. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  4.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  5. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  6.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  7. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  8.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  9. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  10.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  11. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  12.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  13. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  14.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  15. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  16.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  17. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  18.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  19. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  20.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  21. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  22.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  23. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  24.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  25. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  26.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  27. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  28.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  29. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  30.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  31. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  32.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  33. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  34.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  35. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  36.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  37. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  38.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  39. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  40.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  41. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  42.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  43. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  44.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  45. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  46.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  47. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  48.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  49. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  50.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  51. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  52.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  53. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  54.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  55. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  56.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  57. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  58.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  59. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  60.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  61. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  62.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  63. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  64.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  65. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  66.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  67. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  68.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  69. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  70.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  71. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  72.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  73. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  74.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  75. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  76.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  77. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  78.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  79. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  80.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  81. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  82.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  83. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  84.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  85. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  86.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  87. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  88.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  89. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  90.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  91. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  92.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  93. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  94.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  95. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  96.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  97. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  98.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  99. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  100.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  101. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  102.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  103. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  104.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  105. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  106.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  107. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  108.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  109. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  110.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  111. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  112.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  113. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  114.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  115. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  116.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  117. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  118.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  119. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  120.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  121. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  122.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  123. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  124.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  125. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  126.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  127. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  128.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  129. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  130.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  131. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  132.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  133. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  134.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  135. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  136.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  137. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  138.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  139. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  140.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  141. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  142.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  143. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  144.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  145. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  146.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  147. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  148.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  149. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  150.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  151. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  152.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  153. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  154.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  155. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  156.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  157. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  158.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  159. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  160.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  161. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  162.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  163. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  164.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  165. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  166.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  167. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  168.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  169. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  170.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  171. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  172.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  173. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  174.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  175. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  176.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  177. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  178.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  179. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  180.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  181. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  182.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  183. </ItemGroup><ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
  184.   <ProjectReference Include="..\RobotSDK.Android.Binding\RobotSDK.Android.Binding.csproj" />
  185. </ItemGroup>
复制代码
这种设计的特点:

  • 圆形适配:所有内容都在圆形区域内显示
  • 分页滚动:采用"冰糖葫芦"式的垂直分页
  • 视觉层次:使用深色主题和圆角设计
  • 响应式布局:自动适配不同屏幕尺寸
5.png

6.png

总结感悟

在调试的时候遇到一个小坑,明明代码是根据机器人官方的SDK文档进行的初始化,但是不生效,机器人的舵机就是动不了,后面发现是因为代码要加一些延时,不然机器反应不过来就控制不了了。后来想想不同类别的开发,思考问题的角度还是不太一样。
AI发展速度真的是太快了,这个项目我是自己通过调试简单的代码,然后通过让AI反编译aar的文件,最后整理了一些文档,再让AI根据整理的文档实现的代码是很详细了,节省了大量的时间,感觉有了AI效率提高很多了,你们对AI写代码是怎么看待的,欢迎评论区讨论讨论。
希望这篇文章能够为大家在.NET MAUI项目中集成Android原生库提供一些参考和帮助。如果在实践过程中遇到问题,欢迎在评论区交流讨论!
参考资料


  • Binding a Java library
  • Microsoft Docs - Binding Android Libraries
  • .NET MAUI Documentation
  • Android AAR Format Specification
  • 示例代码
  • 自定义绑定
本文示例代码已上传至GitHub,欢迎大家参考学习。如果觉得有帮助,请给个Star支持一下!

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册