Xamarin.Android Java绑定(一)

Xamarin.android官网文档

本文以腾讯QQ登录为例

首先,咱们来讲讲Android中Java库的分类,一般Android的库分为jar,aar,so这三种,jar一般包含一些java的可执行文件(.class),aar包含jar,还有有一些Android中会用到的资源文件(layout,drawable,xml等),so是指由c/c++编写编译生成的动态库。

  • *.jar:JAR文件(Java归档,英语:Java ARchive)是一种软件包文件格式,通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便分发Java平台应用软件或库。
  • *.aar:AAR(Android Archive)包是一个Android库项目的二进制归档文件。
  • *.so:程序链接的动态库,一般是指由c/c++编写编译生成的库。

接下来,开始绑定:

  • 1.创建新的工程(->New Project);
  • 2.创建新的Android绑定工程(File->New Solution->Android->Library->Binding Library);
  • 3.将下载解压后的open_sdk_r6140_lite.jar(Android_SDK_V3.3.5, 2019-8-6)复制到第二步创建的绑定项目中的Jar文件夹下,然后将jar包添加到项目中;
  • 4.右击open_sdk_r6140_lite.jar(Build Action->EmbeddedJar)
  • 5.编译你的绑定项目.(如果编译成功,那么恭喜你,你通过了第一步,因为引用的时候还会遇到各种奇怪的问题;如果没成功,别着急,接着往下看).
    错误:
  1. error CS0102: The type 'CompleteEventArgs' already contains a definition for 'p0'
    解决办法: 在Metadata.xml中的<metadata>节点中添加
<attr path="/api/package[@name='com.tencent.tauth']/interface[@name='IUiListener']/method[@name='onComplete']" name="argsType">UICompleteEventArgs</attr>

步骤:

    1. 双击Error中的描述(下图中左侧标红位置),然后就回跳转到出错代码位置(java转成的c#代码)


      error.png

      具体出错位置.png
    1. 找到java接口绑定之后的c#代码(复制搜索onComplete),然后找到如下图所示:


      绑定后的接口;png
    1. 复制xpath的路径,在Metadata.xml中的<metadata>节点中添加
<attr path="/api/package[@name='com.tencent.tauth']/interface[@name='IUiListener']/method[@name='onComplete']" name="argsType">UICompleteEventArgs</attr>
    1. 重新编译。

IDE:Visiual Studio for Mac 8.3.1
附:

  1. Jar与Aar的区别;

Xamarin 绑定专辑

  1. Xamarin.Android Binding错误收集及解决方法,原因分析
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 7,593评论 0 3
  • 一、简历准备 1、个人技能 (1)自定义控件、UI设计、常用动画特效 自定义控件 ①为什么要自定义控件? Andr...
    lucas777阅读 10,621评论 2 54
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaoyanj...
    勤奋的pangdunhu阅读 6,375评论 0 1
  • 请允许我借鉴前辈们的东西~~~~ 感激不尽~~~~~ 以下为Android 框架排行榜 么么哒~ Android...
    嗯_新阅读 6,595评论 3 32
  • 1.dexDebug ExecException finished with non-zero exit valu...
    nice_demo阅读 11,866评论 0 1