Xamarin.Android Binding

0、要绑定的jar库,需要保证编译jar使用的jdk版本,与绑定时xamarin使用的jdk版本一致。

查看编译jar的jdk版本的方法:jar解压后,a、看MANIFEST.MF  b、 javap -verbose xxx.class

1、编译时输出警告信息,如:

1>JARTOXML : warning J2XA006: missing class error was raised while reflecting com.tencent.connect.UserInfo : android/support/v4/app/FragmentActivity

这是由于绑定项目缺少Xamarin.Android.Support.v4的引用,导致依赖的类没有绑定,虽然可以编译通过,但是缺少了相关的类。

 2、类似这样的错误信息  unsupported major.minor version 51.0

这是JDK版本的问题,解释在这里

http://blog.csdn.net/justdb/article/details/7850212

http://www.blogjava.net/Jay2009/archive/2009/04/23/267108.html

3、Xamarin.Android.Support.v4的版本要求

绑定TencentOpenSdk时,22.2.0,最新的23.4.0.0编译后生成的DLL都缺少Tencent类,换成23.0.1.3是正常的。

4、使用remove-node指令时,有可能造成相关依赖的类无法生成,导致DLL中缺少类,虽然不报错,但是这个类无法使用。

5、类似这样的错误消息:

Xamarin.Android JARTOXML missing class error was raised while reflecting 'ClassName' : Expecting a stackmap frame at branch target 18

参考这篇帖子的解释:

http://stackoverflow.com/questions/40384950/xamarin-android-jartoxml-missing-class-error-was-raised-while-reflecting-classn

参考:

http://www.cnblogs.com/yz1311/p/5814627.html

原文地址:https://www.cnblogs.com/jimcheng/p/5931494.html