如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档

1. 前言

• 常常会遇到有人在从Android原生开发(Java)转移到Xamarin.Android开发时,有需要将过去开发好的Android Class Library直接汇入到Xamarin.Android底下使用,让项目可以更加快速的完成。

• 在昕力大学之前的Xamarin与行动开发相关文章中, 有过一篇的介绍是相当类似的主题,不过Ben前辈的介绍主轴是在Xamarin Studio跟Mac上操作,要套用到Visual Studio跟Windows上时,其过程常常会让人有点困惑,所以再透过本篇文章详细的介绍一下其步骤,让大家更能够掌握其中的诀窍。


2. 环境准备

• Windows 8/8.1/10

• Eclipse with ADT

• Visual Studio 2015


3. 本文

在Eclipse中制作Android Class Library的jar檔

• 首先我们先利用Eclipse建立一个Android Class Library的Project。所以我们在Eclipse当中,File->New->AndroidApplication Project。

• 取名为AndroidClassLibraryTest后点选Next。



• 在New Android Application的对话窗中,取消前两项的勾选,并且勾选Mack this project as a Libarary后,点选Finish。



如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第1张图片


• 项目建立完成后的项目长相。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第2张图片


• 接着在项目的src文件夹下点选右键,选单当中New->Package,来建立该ClassLibrary的程序所在的Package。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第3张图片


• 将此Package命名为 com.example.androidclasslibrarytest后,点选Finish。



• 新增完成后在此项目当中的呈现。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第4张图片


• 接着在这个Package底下继续增加类别程序代码档。在Package上右键选单中,点选New->Class。



• 接着将这个类别命名为MyMathCalc,点选Finish。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第5张图片


• 项目建立完成后的项目长相。



• 完成后继续增加点程序代码,在这个类别当中,我增加了两个静态方法,供之后引用的项目可以直接呼叫。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第6张图片


• 接着直接在项目上右键选单,点选Build Project。眼尖的人应该会看到一闪即过的窗口。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第7张图片


• 然后展开项目当中的bin文件夹,应该就可以看到我们终于制作出androidclasslibrarytest.jar可以让应用项目使用。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第8张图片


在VisualStudio建立Xamarin.Android专案与BindingsLibrary(Android)专案


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第9张图片


• 在新增C#项目的模板当中,选到Xamarin.Android的项目模板,这边采用默认名称App1,接着点选确定。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第10张图片


• 接着在方案总管当中,找到新增好的方案档上右键单击选单,新增一个新的专案。



• 在项目模板当中,选到BindingsLibrary(Android)的模板后,将此项目取名为MyBindingsClassLibrary后,点选确定。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第11张图片


• 新增完成后在方案总管当中的呈现。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第12张图片


• 在新增好的BindingsLibrary项目当中,找到jar文件夹在上面右键选单,选到加入->现有项目。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第13张图片


• 选到刚刚在前一步骤建立的Jar档。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第14张图片


• 加入后在项目当中呈现状况。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第15张图片


• 调整该Jar文件属性当中的建置动作(Build Action)为EmbeddedJar、EmbeddedJar、EmbeddedJar。(很重要所以说三次)



• 在MyBindingsClassLibrary的专案档上右键选单,点选建置。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第16张图片


将AndroidClass Library的jar檔Binding到Xamarin.Android专案中

• 回到App1项目档的右键选单,点选加入参考。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第17张图片


• 在参考管理员对话窗口中,勾选方案中的”MyBindingsClassLibrary”项目后,点选确定。



• 加入参考完成后,在方案总管当中的呈现结果。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第18张图片


• 接着我们打开App1项目当中的MainActivity.cs档,来添加一些测试的程序代码。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第19张图片


• 接着在程序代码当中引用之前我们在Eclipse时所制作ClassLibrary时所设计的Package名称,而在C#当中Package名称就变成Namespace了。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第20张图片


• 在Button的Click当中增加一些测试的程序代码。



测试结果

点选编译执行后,在仿真器当中点选按钮,Toast讯息出现显示sum:50,gcd:2。


如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档_第21张图片


4. 参考来源

• .jar android library import into Xamarin project

http://stackoverflow.com/questions/22943866/jar-android-library-import-into-xamarin-project

• Binding a Java Library

http://developer.xamarin.com/guides/android/advanced_topics/java_integration_overview/binding_a_java_libary_(.jar)/

• Create jar for android project in eclipse

http://stackoverflow.com/questions/11288622/create-jar-for-android-project-in-eclipse


转载自:昕力大学

你可能感兴趣的:(如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档)