通过新的移动 Android 应用程序跳上毛伊岛开发列车。该应用程序的目的是在 Brother RJ2050 移动打印机上打印一份摘要。
我已下载 SDK 并按照此处的说明进行操作(添加 Android Java 库绑定项目而不是 Xamarin 版本)。 https://support.brother.com/g/s/es/htmldoc/mobilesdk/guide/getting-started/getting-started-cross-platform.html#bind-the-sdk-for-android
到目前为止一切都很好,问题是当我尝试构建这个时,我收到一堆 CS0535 错误,例如 'MWPrintSettings' 没有实现接口成员 'IPrintImageSettings.GetHalfTone()' 以及许多不同性质的警告。
作为实验,按照说明创建了一个 Xamarin Android 绑定库并编译良好。当然不能将其包含在我的毛伊岛应用程序中。
想知道是否有人有一些想法?还是说 Brother Mobile SDK 无法在这种环境下工作(.net7 maui)?
我设法获得了使用 maui 构建的兄弟 SDK 绑定库。
实现此目标的方法如下: 在 csproj 中设置以下属性以兼容旧版
<AndroidBoundInterfaceConstants>false</AndroidBoundInterfaceConstants>
<AndroidBoundInterfacesContainTypes>false</AndroidBoundInterfacesContainTypes>
<AndoridBoundInterfacesContainStaticAndDefaultIntrefaceMethods>false</AndoridBoundInterfacesContainStaticAndDefaultIntrefaceMethods>
<AndroidGenerateResourceDesigner>false</AndroidGenerateResourceDesigner>
<Nullable>enable</Nullable>
并在 Metadata.xml 中添加以下行
<attr
path="/api/package[@name='com.brother.sdk.lmprinter']/class[@name='TemplateObjectReplacer.Creator']/method[@name='createFromParcel' and count(parameter)=1 and parameter[1][@type='android.os.Parcel']]"
name ="managedReturn">Java.Lang.Object
</attr>
<attr
path="/api/package[@name='com.brother.sdk.lmprinter']/class[@name='TemplateObjectReplacer.Creator']/method[@name='newArray' and count(parameter)=1 and parameter[1][@type='int']]"
name="managedReturn">Java.Lang.Object[]
</attr>