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閱讀 2,719評論 0 3
  • 一、簡歷準備 1、個人技能 (1)自定義控件、UI設計、常用動畫特效 自定義控件 ①為什么要自定義控件? Andr...
    lucas777閱讀 5,244評論 2 54
  • 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/zhaoyanj...
    勤奮的pangdunhu閱讀 2,100評論 0 1
  • 請允許我借鑒前輩們的東西~~~~ 感激不盡~~~~~ 以下為Android 框架排行榜 么么噠~ Android...
    嗯_新閱讀 2,110評論 3 32
  • 1.dexDebug ExecException finished with non-zero exit valu...
    nice_demo閱讀 6,891評論 0 1