Android 将Card.IO移植到C#Xamarin Studio

Android 将Card.IO移植到C#Xamarin Studio,android,xamarin.android,xamarin,card.io,Android,Xamarin.android,Xamarin,Card.io,我无法将Card.IO移植到Xamarin Android。因为我使用的是C#而不是Java,所以我不知道如何处理.so文件和.jar文件 我试图按照这里发布的一些步骤进行操作:但是我遇到了以下两个构建错误,我不知道如何解决 以下是我迄今为止所做的工作 创建一个新的Android Java绑定库项目 使用现有的文件夹结构,从Card.IO项目添加.jar和.so文件。因此,在/libs文件夹下有四个子文件夹,然后在/libs下有一个jar 将以下内容添加到Transforms/EnumMetho

我无法将Card.IO移植到Xamarin Android。因为我使用的是C#而不是Java,所以我不知道如何处理.so文件和.jar文件

我试图按照这里发布的一些步骤进行操作:但是我遇到了以下两个构建错误,我不知道如何解决

以下是我迄今为止所做的工作

  • 创建一个新的Android Java绑定库项目

  • 使用现有的文件夹结构,从Card.IO项目添加.jar和.so文件。因此,在/libs文件夹下有四个子文件夹,然后在/libs下有一个jar

  • 将以下内容添加到Transforms/EnumMethods.xml以解决编译器错误:

    <mapping jni-class="io/card/payment/CardIOActivity">
        <method jni-name="onActivityResult" parameter="p1" clr-enum-type="Android.App.Result" />
    </mapping>
    
    第二个错误似乎在这一行:

    public static global::System.Collections.IList A {
    

    任何帮助都是有用的,谢谢

    我每天花了大约10个小时让card io使用我的xamarin应用程序。。。经过长时间的战斗,我终于看到了我想要的。。。我没有看到关于2个接口的上述错误,我在'a'类中的'a'字段有问题,并且有一个错误告诉我“in”接口不存在(这是一个接口,所以双基类没有问题,这很奇怪)

    我不确定我的所有步骤是否都是必要的,但(惊讶,惊讶)我太累了,无法清理它,并检查哪些chagnes是真正必要的。很多问题都是由卡io jar的代码混淆引起的。 没关系,回到主题:

  • 创建新的绑定项目,将jar添加为嵌入的jar,将.so文件添加为嵌入的本机库(使用现有结构)
  • 打开EnumMethods.xml并在其中添加映射:
  • (这将int更改为.net xamarin在onActivityResult方法中使用的枚举类型(由card.io.jar中的一个类重载) 3.打开Metadata.xml并添加以下节点(有些节点可能不必要):


    您是移植还是绑定它?对于本机库,请阅读:这是一个有用的链接,我想我要找的单词是绑定。我只想在我的Xamarin Android项目中使用Card.IO供个人使用。请查看我的编辑,说明我迄今为止在这个尝试中所做的工作。很好!这对我来说非常有用。该项目终于成功了ilding,你不知道我花了多少时间来解决这个问题!!现在当我尝试在我的应用程序中使用这个项目时,我会:var intent=new intent(this,typeof(CardIOActivity));我得到的错误是CardIOActivity class not found exception。
    public static global::System.Collections.IList A {
    
    <attr path="/api/package[@name='io.card.payment']/class[@name='A']/field[@name='a']" name="managedName">AProp</attr>
    
      <attr path="/api/package[@name='io.card.payment']/class[@name='M']" name="visibility">public</attr>
      <attr path="/api/package[@name='io.card.payment']/class[@name='M']" name="name">Mcl</attr>
    
      <attr path="/api/package[@name='io.card.payment']/interface[@name='N']" name="visibility">public</attr>
      <attr path="/api/package[@name='io.card.payment']/interface[@name='N']" name="name">Nifc</attr>
    
      <attr path="/api/package[@name='io.card.payment']/class[@name='L']" name="visibility">public</attr>
      <attr path="/api/package[@name='io.card.payment']/class[@name='L']/field[@name='a']" name="managedName">aProp</attr>
      <attr path="/api/package[@name='io.card.payment']/class[@name='L']/method[@name='a']" name="managedName">aMethod</attr>
      <attr path="/api/package[@name='io.card.payment']/class[@name='L']" name="name">Lcl</attr>