zoukankan      html  css  js  c++  java
  • Xamarin.Form中遇到的调用原生Android JAR的问题(一) 编译过程 命名冲突问题

     
    官方调用java的原理说明:https://docs.microsoft.com/zh-cn/xamarin/android/platform/java-integration/working-with-jni

    1. 百度官方选择功能下载SDK

    2.创建Android绑定库(Xamarin)

    3.将SDK里的jar和so文件一起复制到Jars中

    4.生成操作JAR选择 EmbeddedJar,so选择EmbeddedNativeLibrary

    5.生成项目,报如下错误

    生成文件位置,需要显示所有文件中查看

    6.在Transforms文件夹的Metadata.xml文件中,添加如下代码,将命名冲突的内容,重新定义名称。

    官方文档:https://docs.microsoft.com/zh-cn/xamarin/android/platform/binding-java-library/customizing-bindings/java-bindings-metadata

    参考文章:https://blog.csdn.net/qq_31403321/article/details/79502182

    1 <metadata>
    2   <attr path="/api/package[@name='com.baidu.location']/class[@name='Address']/field[@name='address']"
    3         name="name">MyAddress</attr>
    4   <attr path="/api/package[@name='com.baidu.mapapi']/class[@name='VersionInfo']/field[@name='VERSION_INFO']"
    5         name="name">MyVersionInfo</attr>
    6   <attr path="/api/package[@name='com.baidu.mapapi.map']/interface[@name='BaiduMap.OnMapStatusChangeListener']/method[@name='onMapStatusChangeStart' and count(parameter)=2 and parameter[1][@type='com.baidu.mapapi.map.MapStatus'] and parameter[2][@type='int']]" name="managedName">OnMapStatusChangeStart2</attr>
    7   <attr path="/api/package[@name='com.baidu.mapapi.search.poi']/interface[@name='OnGetPoiSearchResultListener']/method[@name='onGetPoiDetailResult' and count(parameter)=1 and parameter[1][@type='com.baidu.mapapi.search.poi.PoiDetailSearchResult']]" name="managedName">OnGetPoiDetailResult2</attr>
    8 </metadata>

     7.完成,bin中有生成的dll供Xamarin.Android项目调用。

     很全面的参考文章:https://blog.csdn.net/qq_31403321/article/details/79489078

  • 相关阅读:
    呃,如何使 .NET 程序,在 64位 系统 中,以 32位 模式运行。
    [转载]Cortana 设计指导方针
    Could not load file or assembly System.Core, Version=2.0.5.0
    wpf中用户控件的属性重用
    浅谈AutoResetEvent的用法
    WPF异步载入图片,附带载入中动画
    WPFLoading遮层罩
    获取WPF的DataGrid控件中,是否存在没有通过错误验证的Cell
    WPF通过异常来验证用户输入
    WPF验证之——必填验证
  • 原文地址:https://www.cnblogs.com/Xamarin-Oz/p/11102499.html
Copyright © 2011-2022 走看看