原文 Xamarin使用Jar檔

这个范例是如何在Xamarin.Android中去使用一个我们自行在开发的JAR档案. 主要会执行的步骤如下

  1. 在Xamarin建立一个Android Java Bindings Library 项目
  2. 加入自行开发的JAR档案到这个项目里面
  3. 在Xamarin.Android项目中参考Android Java Bindings Library 项目
1. 写一个Java 程序并且把他包装成JAR档案

1.1 撰写以下程序代码并且储存扩展名为java的档案

package com.xamarin.testbinding;

public class test{

public String method(){

return "Hello jar";

}

}

1.2 在终端机下用Javac指令来编译 test.java
编译完成会产生出一个test.class档案

1.3 建立一个Manifest.mf档案.
手动建立一个扩展名为mf的Manifest.mf档案.接着开启这个档案编辑它
在档案中的第一行宣告这个JAR档的进入点是由那只程序(class档案)来进入
这边我们输入 Main-Class: com.xamarin.testbinding.test

1.4 将test.Class档案复制到com.xamarin.testbinding 文件夹下 
在目前所在的目录下建立底下的文件夹结构,com>xamarin>testbinding 
然后将test.class拷贝到testbinding文件夹下

1.5 使用JAR指令把test.class打包成JAR档案 
在终端机接口下执行
jar cvfm testJ.jar manifest.mf ./com/xamarin/testbinding/test.class 
把test.class打包成JAR档案
2. 新建Android Java Bindings Library
2.1 建立Android Java Bindings Library档案 
New >> Android >> Android Java Bindings Library

2.2 把JAR档案加入到目前项目

2.2.1在项目的Jars文件夹按下鼠标右键>>添加>>添加档案
把JAR档加入这个项目

2.2.2 在被加入的JAR文件的属性窗口里面的建置动作选择 [EmbeddedJar]

2.3 上述动作都完成后编译这个项目
3. 新增Xamarin.Android专案
3.1 建立Android 项目 New >> Android >> Android Application
3.2 把Android Java Bindings Library加入参考

3.3 接着在你的Android项目中using Com.Xamarin.TestBinding名称空间
在参照名称空间时要特别注意,Xamarin会自动把你的名称空间的每一个字母的第一个英文转换成大写. 
也就是原本我们在JAR档案里面宣告的 package com.xamarin.testbinding; 
在Xamarin.Android要使用这个名称空间时,我们必须要输入成Com.Xamarin.Testbinding 
而类别名称也会变成第一个字母为大写.

3.4 此时就可以在Xamarin.Android项目中引用JAR档案里的类别

 

(8) Xamarin使用Jar檔的更多相关文章

  1. [Xamarin.Android]如何引用JAR檔案 (转帖)

    這個範例是如何在Xamarin.Android中去使用一個我們自行在開發的JAR檔案. 主要會執行的步驟如下 1. 在Xamarin建立一個Android Java Bindings Library ...

  2. vs2017 xamarin导入jar,SO文件的问题

    最近要弄用vs弄个安卓的系统,因为要使用硬件,所以要引进jar,SO文件 导入jar文件很顺利,具体步骤我也是在网上找的这里给个链接 http://www.2cto.com/kf/201604/502 ...

  3. Xamarin学习资源收集

    推荐入门视频 跨行動平台App開發概觀- 使用Xamarin+Visual Studio https://www.youtube.com/watch?v=ELuFTTn1gS4 中文产品介绍http: ...

  4. C#使用Xamarin开发Android应用程序 -- 系列文章

    Xamarin开发Android应用程序 利用Xamaria构建Android应用-公交发车信息屏 Xamarin版的C# SVG路径解析器 C#使用Xamarin开发可移植移动应用(1.入门与Xam ...

  5. [Xamarin.Android]使用Java Bindings Libary專案 Binding Java元件(.jar) 與Metadata.xml、型別對應 (转帖)

    使用Xamarin開發Android APP時, 如果已經有原本就用Java寫好的套件(.jar), 就可以利用Xamarin提供的Java Bindings Libary將他變成C#可使用的元件. ...

  6. Xamarin.Forms学习系列之Android集成极光推送

    一般App都会有消息推送的功能,如果是原生安卓或者IOS集成消息推送很容易,各大推送平台都有相关的Sample,但是关于Xamarin.Forms的消息推送集成的资料非常少,下面就说下Xamarin. ...

  7. JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (3):部署設定及應用 (转帖)

    說明:這一篇主要是說明如何將程式部署到Application Server,以及程式如何運作,產生的檔案置於何處,以及如何以瀏覽器呈現(Applet),或是當成桌面應用程式,或是 桌面Applet,這 ...

  8. JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (2):JavaFX建立及程式碼說明 (转帖)

    說明:就如同標題一樣,前端會用到JavaFX.Swing.Java Web Start.Google Map 的技術, 後端就是JDBC.Servlet的技術,以及我們會簽署認證jar檔案,這樣才可存 ...

  9. JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (1):NetBeans 寫 Servlet (转帖)

    JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (1):NetBeans 寫 Servlet 功能:這支程式的主要功能是將 javafx 與 swi ...

随机推荐

  1. 在Linux下sqlplus 登录时显示SID 和用户名

    一般显示为: SQL> show user USER 为 "SYS" SQL> 在 $ORACLE_HOME/sqlplus/admin目录下 编辑glogin.sql ...

  2. 使用keil判断ARM的冷启动和热启动的方法

    微处理器:LPC2114 编译环境:Keil MDK V4.10 思路: 常把单片机系统的复位分为冷启动和热启动.所谓冷启动,也就是一般所说的上电复位,冷启动后片内外RAM的内容是随机的,通常是0x0 ...

  3. C++ DLL导出函数的两种方法(导出序号那种方法,别人看不到函数名)

    第一种就直接导出函数名如下代码: #ifdef__cplusplus #define TEXPORT extern "c" _declspec(dllexport) #dlse # ...

  4. DNS解析服务使用的系统对网站的安全起着很重要的作用

    1 采用独享的DNS服务器解析系统 DNS解析服务使用的系统对网站的安全极其重要.现在国内的DNS服务器普遍是公用的,即是你的企业网站DNS解析服务和其他许多网站都是由同一个DNS服务器提供.一旦某个 ...

  5. DevExpress控件之:ChartControl 动态绑定数据

    private void BindData(ViewType vt) { chartControl1.Series.Clear(); //Series series1 = new Series(&qu ...

  6. ER图与UML图

    ER图:实体-联系图(Entity-Relation Diagram)用来建立数据模型,在数据库系统概论中属于概念设计阶段,ER图提供了表示实体(即数据对象).属性和联系的方法,用来描述现实世界的概念 ...

  7. w3school教程整理

    原文链接:http://www.flygon.net/w3school 原文链接:https://github.com/wizardforcel/w3school w3school教程整理 离线版大部 ...

  8. 使用meaven打包过程中遇到的一些问题

    开始使用如下代码进行打包 <build> <!-- mvn assembly:assembly -Dmaven.test.skip=true --> <plugins&g ...

  9. BOOST_PP_INC_I(x)实现

    这个比较有意思,# define BOOST_PP_INC_I(x) BOOST_PP_INC_ ## x 连接在一起以后,然后定义为x+1 实现了inc功能,不过最多也就到255 # /* Copy ...

  10. leetcode Swap Nodes in Pairs python

    # Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = ...