当前位置: 首页 > 知识库问答 >
问题:

通过AAR绑定实现对xamarin.Android Google Play服务的依赖

彭阳朔
2023-03-14

我正在使用Visual Studio 2015 Update3为Android和iOS编写一个Xamarin跨平台应用程序。我需要利用一个第三方SDK写的Java功能相关的推送消息。对于Android端的解决方案,我已经尝试了很多很多的东西(在过去的几天里),但都没有成功。我想为以下解决方案解决:

  • 拥有用于常见代码/UI功能的PCL/便携“MyApp”库。
  • 让PCL/便携库为特定于Android的代码引用“MyApp.Android”程序集。
  • 让“myapp.android.bindsdk”库引用一个“myapp.android.bindsdk”程序集,用于包装/绑定到第三方SDK。
    myapp.android.bindsdk程序集应该(我认为):
  • 使用Xamarin的绑定特性绑定/wrap/include我的第三方用Java编写的SDK。
    它对来自Google Play服务的类/功能有后期绑定依赖关系。
  • 使用NuGet将Xamarin.GooglePlayServices.gcm包含到“.Android.bindsdk”项目中。

自从通过NuGet将Google Play服务包含到myapp.android.bindsdk项目中后,我得到了以下编译错误:

error APT0000: No resource found that matches the given name 
(at 'value' with value '@integer/google_play_services_version').

我尝试了很多论坛上发布的东西,比如清除解决方案,删除bin和obj文件夹,从Google Play的AAR内的JAR中提取version.xml文件,等等。

有没有人有一个很好的例子来说明如何为(本身)依赖于Google Play服务的Android/Java SDK创建Xamarin绑定包装器?

共有1个答案

壤驷志学
2023-03-14

检查绑定项目的.csproj是否包含xamarin.googleplayServices.basement.targets,因为该包中的资源任务提取Play Services版本并将其添加到库的资源中:

示例:

<Import Project="..\packages\Xamarin.GooglePlayServices.Basement.42.1001.0\build\MonoAndroid70\Xamarin.GooglePlayServices.Basement.targets" Condition="Exists('..\packages\Xamarin.GooglePlayServices.Basement.42.1001.0\build\MonoAndroid70\Xamarin.GooglePlayServices.Basement.targets')" />

还要检查绑定项目清单是否已经包含com.google.android.gms.version的条目,因为这应该由构建过程自动生成/合并:

<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
<integer name="google_play_services_version">10084000</integer>
 类似资料:
  • 问题内容: 如何构建一个Android应用程序以启动A 以使用,以便在修改观察到的目录(即用户拍照)后执行其他代码。调试时,永远不会触发onEvent方法。 这是我在服务中遇到的onStart事件。在对火灾“我的服务开始......” 但是在那次Toast之后,如果我拍照,则onEvent永远不会触发。这是通过调试确定的。它永远不会碰到那个断点,而Toast也不会触发。 浏览该目录后,新图像将保存

  • 在Eclipse中运行RESTful客户端时,出现以下错误: 在浏览器中调用时,URL不会被阻止。如何通过客户端使用它? TIA! 编辑:(客户端代码)

  • 我试图为Android com.adobe.creativesdk.image库生成一个Xamarin绑定 问题是这个库包含大约20个引用,而这些引用肯定包含更多。我必须浏览整个树并提取所有引用以将它们添加到绑定项目中。 当然,一定有更简单的方法来做到这一点。有人告诉我,我可以使用Android Studio创建一个包含所有引用的捆绑AAR,但我不确定如何使其工作。一些参考文献也是AAR。 你能把

  • 我已经通过Android Studio创建了所有的。gradle文件(.jar和.aar)。 jar文件通过Xamarin中的android绑定编译为.dll文件,没有任何问题--我可以在对象资源管理器Visual Studio中将它们作为引用进行扩展。 我的问题是。aar文件。 我在Visual Studio的Jars文件夹中有gradle中的mapbox-android-core-1.4.0.

  • 本文向大家介绍java实现通过绑定邮箱找回密码功能,包括了java实现通过绑定邮箱找回密码功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java实现通过绑定邮箱找回密码功能,供大家参考,具体内容如下 1.输入用户名及验证码,验证用户名是否存在 (1).生成验证码工具类 (2).生成验证码action 2.用户名验证通过后往绑定邮箱发送邮件 3.邮件发送成功后进入邮箱,通过该链接

  • 我对Netty是新手。我使用的是Netty 4.0.28。我指的是《Netty in Action》一书中提供的EchoServer示例。 一切正常。客户端在活动通道上向服务器发送消息,服务器打印接收到的消息并将相同的消息发回客户端。稍后客户端通道关闭,但服务器仍将侦听新连接。 我也想关闭服务器通道并将服务器绑定到新端口。 我应该如何关闭服务器通道?