Xamarin引用.jar包

使用Xamarin开发Android App可以引用原生的Jar包。但是并不是Jar包直接引用,而是要把Jar包封装成dll文件再给Xamarin.Android项目使用。在Xamarin的官网中有使用方法有详细说明,地址如下:https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/binding-a-jar/

下面内容对绑定Jar包进行一个简单的说明。

创建Binding Library(Android)项目

该项目是用于封装Android的jar包的,生成C#能使用的dll文件。

1、打开Visual Studio,进入新建项目对话框。选择”Android”->”Binding Library(Android)”,点击确认创建。如下图,

1

2、向项目中的”Jars”文件夹中添加想要引用的Jar包,该文件夹可以添加多个Jar包。注意:如果不添加Jar文件直接生成项目会报错。

2

如上图所示,添加了两个包”testjar.jar”,”picasso-2.5.2.jar”。

3、修改Jar包的属性。右击添加的Jar文件,选择“属性”选项,将属性“生成操作”的值改为“EmbeddedJar”。

3

4、执行完上述操作之后,生成项目即可。

注意事项:在封装Jar包的时候,可能会出现很多警告或者错误。有时编译成功了,但是jar包中的方法属性丢失了。这时可以参考官方的文档:https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/troubleshooting-bindings/

引用Jar包封装的dll

1、Xamarin.Android项目可以直接引用生成的dll即可。

2、Xamarin.Forms项目中的 .Droid项目可引用该dll。

另外,Xamarin.Android 引用.AAR文件方法类似。请参考 https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/binding-an-aar/

常见错误

1、Jdk版本错误。当Jar包的Jdk版本和编译环境的版本不一致时,能编译成功。但是Jar包中的方法和属性会丢失,不能封装到dll中。所以要确保引用的jar包的版本和自身环境是一致的。

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s