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