使用Java开发的jar项目,如何进行编译呢
jar转换成apk项目文件
打开Eclipse,
右键工程, Build path, java build path,选择libraries 在右边的按钮中点击“Add Library” 选择“User library”,点击“下一步” 点击“User librarys”按钮 在出现的界面中点击“New..”按钮 在弹出的界面中随便起一个名字,点击“确定” 点击“Add jars”按钮选择第三方jar包,点击“确定”完成。 后面的步骤很重要,如果不进行后面的操作。在Eclipse里显示编译通过,不会有错误,但在模拟器或真机上运行的时候可能就会出现java.lang.noclassdeffounderror之类的错误: 1、在Android项目根目录下新建一个libs文件夹; 2、把你需要的导入的第三方Jar包复制进这个目录;
3、在libs目录上点右键,选Bulid path –> Use as source folder。
方法2,android源码环境下,
1,将out/target/common/obj/JAVA_LIBRARIES/powersave_intermediates下的classess.jar文件放在自己的工程目录下。out/target/product/ventana/system/framework目录下的jar包用以下方法经验证是不好使的,因为他已经打成dex文件了,在工程里引用其包是不行的;
2,修改android.mk文件,如下:
LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-java-files-under, src) LOCAL_STATIC_JAVA_LIBRARIES := libpowerjar libpowersave LOCAL_PACKAGE_NAME := testPowerjar LOCAL_CERTIFICATE := platform include $(BUILD_PACKAGE) ############################################## include $(CLEAR_VARS) LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libpowerjar:classes.jar libpowersave:testlily.jar include $(BUILD_MULTI_PREBUILT) # Use the folloing include to make our test apk. include $(call all-makefiles-under,$(LOCAL_PATH))
解释:LOCAL_STATIC_JAVA_LIBRARIES :=libpowerjar和LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES :=libpowerjar:classes.jar其实libarity是个名字可以随便取,两个属性的值要一样就好了,但是后面那个冒号里面就一定要写你的jar包名,你的jar包一定放在工程的根目录就好了。我这里是使用两个jar包的例子。
3,源码目录下编译即可:# mmm package/app/testPowerjar,如果出错提示说找不到jar包所打的package,那么请#touchclasses.jar 即可.
生成jar包:
方法1:Eclipse下, 1. 创建java 或android project; 2. 工程属性java build path->Libraries中加入android.jar 3. package explorer中右键点击工程,export java->jar file.
具体可参照:http://blog.csdn.net/guanmjie/article/details/4437779
方法2:Android源码环境下
1,修改Android.mk文件,
LOCAL_PATH:= $(call my-dir) # the library # ============================================================ include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := powersave.java
LOCAL_MODULE := powersave include $(BUILD_JAVA_LIBRARY) # additionally, build unit tests in a separate .apk include $(call all-makefiles-under,$(LOCAL_PATH))
2,编译 # mmm powersave(自己的模块)
其中,BUILD_JAVA_LIBRARY代表生成jar包,包的位置放在out/target/product/ventana/system/framework和out/target/common/obj/JAVA_LIBRARIES/powersave_intermediates(自己的模块)下,
最后安装Androidstudio引进第三方jar包,最后打包成apk项目文件。
当然通过国外的在线网站把jar项目文件转换成apk项目文件,如:http://www.netmite.com/android/srv/2.0/getapk.php这个网站打开,把jar文件生成apk文件,简单的,网站是英文的,熟悉英文最好。
二,jar文件生成EXE文件
第一步:完成Java GUI程序
在Eclipse下,程序能够正常运行.第二步:准备清单文件(MANIFEST.MF)
方法1:直接拷贝其它能运行的JAR文件中的MANIFEST.MF进行修改
方法2:利用IDE工具,如Eclipse在生成JAR文件时自动生成 MANIFEST.MF内容如下:note:
Manifest-Version - 指定清单文件的版本号
Main-Class -指定程序运行的入口类。注意:类名后不要加class扩展名 Class-Path -指定支持库的路径。“.”指程序运行目录,即导出的JAR包所在目录。程序运行时依据Class-Path项的设置路径来查找支持库。每一个支持库之间用空格隔开。在这里使用了hibernate,spring,derby.note:
1.如果Java应用程序用到了一些Eclipse包,那么就必须将这些包也复制到程序运行目录,设置到Class-Path,否则程序将无法运行.引用了一些外部组件也需要如此设置,如hibernate,spring,derby.
2. 除了入口类的包名和类名之外,其他设置项都不分大小写,比如:Class-Path写成class-path或CLASS-PATH也可以,swt.jar写成SWT.JAR也行。 3.类名后不要加class扩展名 4.每一行的':'后都有一个空格,如Class-Path:<空格>./lib/spring.jar 5.Class-Path中.引入的JAR文件每行不得超过19个,否则会报错.但在让人意外的是每行只有前9个有效,故将所有同类型的JAR 文件做成一个JAR文件.如我这里的spring.jar,hibernate.jar,derby.jar都是同类JAR文件的组合.第三步:修改spring配置文件 在spring的 'sessionFactory' bean的配置中则要这样写(与程序中ClassPathXmlApplicationContext对应)
manager/entity/MyFile.hbm.xml
manager/entity/FileType.hbm.xml ...第四步:使用Eclipse生成JAR文件
1.右键单击项目名,在弹出菜单中选择“Export”。在弹出的如下图所示的对话框中,选择“JAR文件”,单击“Next”
2.将右边不需要的文件都取消勾选。在“选择导出目标(Select the export destination)”项文本框中设置JAR包的输出路径和包名(可以任意取名)为“D:\manager\manager.jar”。接受其他的默 认设置不变,单击“Next”。 附注:左边虽然选择了src目录,但源文件并不会导出到包中,除非勾选了“导出Java源代码文件和资源(Export java source files and resources)”项。 3.接受默认设置不变,单击“Next” 4.这一步较关键。如下图所示,选择“从工作空间中使用现有清单”项,将创建的清单文件输入,也可以通过旁边的“浏览”按钮来选择清单文件。输入清单文件后,单击“Finish”,Eclipse开始将项目打包。 附:这里也可以选择Generate the manifest file.但生成的清单文件MAINFEST.MF需要修改. 注意:清单文件MAINFEST.MF一定要按第二步那样设置.第五步:生成运行manager.jar的批处理文件manager.bat(该步可以不要) 在manager目录下创建一个批处理程序manager.bat(名字任取,扩展名必须是bat),其内容仅一句语句,如下: javaw -jar manager.jar说明:
1.javaw对应c:\jdk\jre\bin\javaw.exe文件,如果windows提示命令未发现,则需要将c:\jdk\jre\bin路径加入到windows环境变量path中。
2.在运行程序的时候有一个讨厌的黑色命令行窗口,要去掉它,可以将run.bat内容更改如下:“start javaw -jar manager.jar”,start是指调用了windows的“运行”命令。 3.在后边加一个pause就可以让你看到具体哪里出错了,如:第六步:让电脑不必安装JRE环境,也能运行.
通常运行Java程序有个前提条件:用户电脑必须先安装JRE环境。虽然安装JRE环境非常简单,但毕竟多了一步,算是有一点点的瑕疵。这里给出一个不必让用户安装JRE环境的方法,其实现步骤如下:
(1)将原JDK中的“jre”目录复制到“D:\manager\java”目录下(java也可换成其他名称)。 (2)将JDK和JRE从本机卸载掉,这样表示本机没有安装JAVA运行环境。 (3)修改批处理文件manager.bat中的命令为“start java\jre\bin\javaw -jar manager.jar”,仅仅是在javaw前加上了一个相对应路径。 双击manager.bat即可在不安装JRE环境的电脑运行此Java应用程序。第七步:抛弃批处理文件(*.bat),生成exe文件
用批处理文件运行程序似乎不够专业,虽然它足以完成运行任务。但习惯就象一种毒药一旦染上就很难摆脱它的影响,Windows统治下的人们早已经习惯运行扩展名是EXE的程序,用*.bat他们就会感觉别扭。
我们可以用一个叫JavaLauncher的免费小程序来代替批处理文件去运行Java程序。JavaLauncher的下载网址是: http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm 下载下来的文件是一个名JavaLauncher.zip的压缩包,解压后的目录结构如下所示:第八步:美化图标
launch.exe文件的图标太单调了,让我们给它换个好看点的。换程序的图标需要用到一个免费的软件:Resource Hacker.
第九步:最后的打包
三,使用EXE4js把jar文件生成EXE文件
第一步详解:
将java程序生成Jar包
以下是Myeclipse导出Jar包,首先选择项目“右击”
点击“Export”
选择JAR file
只保留项目底下的src目录勾选,config和lib为配置文件及程序所需的Jar包
点击“next”
选择Main方法后,直接点击Finish
只是警告,无需关注。
好,直到上一步,Java程序Jar包生成完毕。
第一个大步骤操作完毕。
现在开始第二个大步骤:
Exe4j对Jar包进行exe封装
首先在某盘符底下建立一个文件夹,本例是在D盘建立的Java文件夹,然后将jre和程序所需的Jar包文件及Java程序所要读取的配置文件放入到文件夹。
好,现在开始,首先打开exe4j程序
第一步无需操作,直接点击“Next”
第二步:选择第二项”JAR in EXE” mode,然后点击“next”
第三步:设置完成后,点击“next”
点击“next”
点击“next”
点击“next”
设置大小版本号以后,点击右边节点的”Search sequence”
点击 “ 绿色加号” 选择”Directory“添加JRE,JRE是第一步创建文件夹里的JRE
然后“7、8、9”步骤默认就好,第十步时,按图片操作