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中的节点中添加
UICompleteEventArgs

步骤:

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


      error.png

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


      绑定后的接口;png
    1. 复制xpath的路径,在Metadata.xml中的节点中添加
UICompleteEventArgs
    1. 重新编译。

IDE:Visiual Studio for Mac 8.3.1
附:

  1. Jar与Aar的区别;

Xamarin 绑定专辑

  1. Xamarin.Android Binding错误收集及解决方法,原因分析

你可能感兴趣的:(Xamarin.Android Java绑定(一))