eclipse导出混淆jar包怎么导出jar包

首先java项目是没有问题的,导出的jar在其它的java项目中也可以正常使用。编写java和android项目的过程中eclipse也没有给出警告,编译和打包都通过。唯独在(虚拟机和真机)运行调试的时候出现错误:03-05 16:35:19.890: E/dalvikvm(438): Could not find class 'com.test.Myfile', referenced from method com.example.baidu.MainActivity.onCreate
……………………
03-05 16:35:20.020: E/AndroidRuntime(438): java.lang.NoClassDefFoundError: com.test.Myfile
03-05 16:35:20.020: E/AndroidRuntime(438):
at com.example.baidu.MainActivity.onCreate(MainActivity.java:19)
……………………
signal. PID: 438 SIG: 9
将积分墙和spring这之类的第三方jar包放入android项目的libs文件夹就没有问题。不知道我导出的和商业化的jar包有何区别。Windows 7 64 Bit,Java 1.7u5 64 Bit,Eclispe 4.2.1 64 Bit,ADT版本21.1。
jar放入android项目的libs里为何不编译,是因为在java Build Path-&Order and Export 中你没有选中“Android Private Libraries”(这里面包含libs中的文件,位置如上图)。jar放入android项目的libs里为何不编译,是因为在java Build Path-&Order and Export 中你没有选中“Android Private Libraries”(这里面包含libs中的文件,位置如上图)。
因为google android使用的并不是oracle制定的java标准,而是一个第三方实现的java标准分支,所以编译上是有细小的差别的,而随着android和java的各自更新升级,这种分歧也越来越大。使用jdk而非adk编译的class对android来说有可能并不是正确有效的目标平台编译文件。&br&
所以这个问题解决起来也非常容易:&br&
1.使用较早期版本的jdk,可以尝试java6甚至java5。然后使用这个老版的jdk编译打包java项目为jar。然后这个jar就可以被用作android项目的第三方jar引用了。&br&
2.如果换早期版本的jdk没有解决问题,或者不想安装老版的jdk,那么你可以尝试从android项目导出jar而非从java项目导出jar。具体实施步骤是:建立一个新的android项目,将java项目的代码文件导入,然后使用android项目菜单导出为jar,然后这样的jar就可以被放在别的android项目里正确引用了。
因为google android使用的并不是oracle制定的java标准,而是一个第三方实现的java标准分支,所以编译上是有细小的差别的,而随着android和java的各自更新升级,这种分歧也越来越大。使用jdk而非adk编译的class对android来说有可能并不是正确有效的目标平台…
已有帐号?
无法登录?
社交帐号登录xubcing 的BLOG
用户名:xubcing
文章数:37
访问量:7718
注册日期:
阅读量:5863
阅读量:12276
阅读量:334918
阅读量:1039615
51CTO推荐博文
&&Eclipse 导出Jar包,在工程中File-Export-JAR file-Next...-Finish,注意选择自己的程序Main Class,其中Jar包中的MANIFEST.MF文件包含了jar的主程序入口和依赖jar的存放位置等信息。Java&-jar&&Test.jar导出Jar包后,如有外部包依赖,还要修改Jar包中的&MANIFEST.MF 文件Manifest-Version:&1.0
Main-Class:&modification.AppFrame
Class-Path:&lib/classes12.jar
Manifest-Version&&&为版本信息
Class-Path&&&&&&&&&当程序有外部包依赖时,可在当前目录下创建lib目录,放入依赖的jar包
Main-Class&&&&&&&&&主程序入口缺少这个属性,程序会找不到Main入口
Failed&to&load&Main-Class&manifest&attribute&from&&Test.jarWindows下可以直接用WinRar工具编辑Test.jar中META-INF\MANIFEST.MF文件如果如果工程中有其他的配置文件,也需要按目录层次和程序所需要的位置放置本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)18565人阅读
Android项目中使用Eclipse导出jar文件日 天气晴朗&关于打包Android组件肯定是有用到的,比如开发了一个模块,为了更好的复用,我们可能会将它打包成jar文件方便其他项目引用。这个很好理解,也很简单。网上有一堆关于用Eclipse将Android项目打包成jar文件的,这里我也不想多说。我只想简单说明一下我在制作SDK遇到的问题:【使用Eclipse导出jar包疑问】1、Android项目包含其他jar或者library(库文件),这个是怎么关联起来的?2、使用Eclipse将Android项目导出为jar文件,哪些是需要勾选的,哪些是不需要勾选的?3、在Android项目中无法使用导出的jar包,会报“&java.lang.NoClassDefFoundError”相关的错误,这个怎么破?4、Android项目有依赖其他jar文件或者library,这个时候怎么整合,导出的jar包还是不能用。这段是转载的首先Android 工程的基本面貌是这样:当然对应的Activity 文件被我删除了,因为当编译成jar 包我们并不需要Activity 文件。以上面这个工程为例,我们将它打包成JAR包步骤为:右键工程选择导出:选择导出目标为:java-&JAR文件:&把一些不必要的文件勾选掉,如下图:一般,不需要打入jar包的文件有:1、/src/目录下的activity文件2、根目录下的文件,.classpath, .project, manifest.xml, .properties, .cfg等3、/bin/目录下的文件,如:manifest.xml, .dex, .apk, resources.ap_等4、/bin/res目录5、/res/drawable 相关的目录6、/res/layout/ 目录7、/res/menu/ 目录到了这一步,己经基本完成,浏览选择jar 文件导出路径即可。上面就是讲解如何将Android项目导出为jar文件,其实这样做是没有问题的,因为这是普通生成jar文件的情况。更加麻烦的情况是:你想要打包为jar包的Android项目也依赖了jar包或者library,这个时候怎么破?我上网也查了很久,也看了一些博文,还是没有找到解决方案,直接用Eclipse将Android项目打包,难道就可以把依赖的jar文件或library关联起来了?似乎没有那么强大咯,我也研究了一些平台提供的sdk,它们是怎么做的?在Android中有依赖jar的就不能再将其打包成jar文件了,我们可以将其作为library(库文件)让其他项目引用,例如多酷的sdk使用这样的library,是一个Android项目形式存在的。多酷将其设置为Is Library· 多酷提供的demo是这样引用的:在SDK这一块还有很多疑问,之前遇到的问题,还是不太清楚是怎么导致的,希望有遇到相关问题,可以给我留言,一起沟通讨论一下。工作当中可能会遇到一些自视过高的同事,自己会的东西都不太原意分享,其实你会的那点东西就算放到烂别人也不会觉得有什么了不起的,或者也有猪一样的队友,这时候其实更多的需要耐心和心平气和地去对待。反正鸟大了,什么林子都有,我告诫自己一定要做好自己,认真对待工作,与同事打好关系,每一天开开心心上班,这样才不会让自己变得面目全非,才不会让自己处于压抑的状态。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:3530856次
积分:35946
积分:35946
排名:第86名
原创:638篇
转载:81篇
评论:2478条
文章:27篇
阅读:49522
阅读:74108
阅读:47904
文章:14篇
阅读:271862
文章:11篇
阅读:150648
文章:10篇
阅读:70896
文章:13篇
阅读:34084
文章:13篇
阅读:351340
微信公众号:wwjblog
微信号:whatswwj
移动开发者狂热群:注明入群理由,里面有一群热爱分享的开发者
高品质课堂推荐:
(2)(3)(2)(3)(5)(9)(3)(6)(2)(2)(2)(8)(5)(10)(3)(2)(3)(4)(12)(1)(5)(5)(6)(7)(2)(13)(11)(11)(8)(14)(10)(16)(8)(15)(23)(13)(12)(12)(11)(17)(28)(18)(20)(8)(11)(20)(13)(14)(10)(23)(18)(15)(36)(27)(47)(16)(3)(28)(33)(14)(13)
从入门到成长到成熟再到优秀,大多数程序员走了前面一段相似的道路,而有些人却走得更远一些!!!!eclipse导出jar(java打包导出jar)
有时候需要将j2se工程导出,这样可以在别处运作,就不必拘泥于开发感觉中才能运行了。
具体做法如下:
方法一:(工程没有引用外部jar包时,直接导出)
选中工程----&右键,Export...---&Java---&JAR
file---&next--&选择jar file的路径及名称--&next--&next---& 选择main
class---&finish.
当工程引用了其他的外部jar时,由于eclipse不支持同时导出外部jar包的功能,所以比较麻烦一点;具体步骤如下:
生成manifest file:选中工程---&右键,Export---&Java---&JAR
file---&选择jar file的路径及名称---&next---&next---&next;
此时来到了方法1中要选择main class的窗口,但这里先不选择main class,选择最上方的Generate the manifest
file, 勾上Save the manifest in the workspace,在Manifest
file:中输入file的名称,如/testProject/main,(其中testProject为工程名,main为manifest
file的名称)点击finish,回到工程,打开刚刚生成的main,在这里要输入如下信息:
Manifest-Version: 1.0
Main-Class: com.pacong.convert.auto.propertes.ConvertAutoProperties
Class-Path: jxl.jar
其中,Manifest-Version: 1.0为刚刚自动生成的manifest版本号;
Main-Class: com.pacong.convert.auto.propertes.ConvertAutoProperties为main
class所在类;
Class-Path: jxl.jar为外部jar包名称,这里是告诉导出的jar包,所要用到的外部的jar包的路径及名称。
上面都做完了就可以导出带外部jar包的jar包了,步骤如下:
选中工程---&右键,Export---&Java---&JAR file---&选择jar
file的路径及名称---&next---&next---&next,这时又来到了选择main
class的窗口,但这里也不选择main class,选择Use existing manifest from
workspace,在Manifest
file:里选择刚刚生成的main,如:/testProject/main,点击finish,到此就大功告成啦;假设生成的jar包的名称为
test.jar,那么Class-Path中引入的jxl.jar要和test.jar位于同一个目录下。
这里还有一点要注意:
如果想在命令行中运行刚刚生成的jar,命令如下:
java -jar test.jar
如果在jar中有一些System.out.prinln语句,运行后想看看打印出的内容,可以用一下命令:
java -jar test.jar &log.txt
输出信息会被打印到log.txt中,当然log.txt自动生成,并位于和test.jar一个目录中。
这里也可以新建一个start.bat文件,创建后;右键---编辑,输入:java -jar test.jar
&log.txt;以后直接双击start.bat即可运行test.jar啦。
注意,如果你是在文件导出放在如:E盘,则你需要导入得包也要放在这个目录里。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'

我要回帖

更多关于 eclipse导出jar包 的文章

 

随机推荐