android project中第三方jar包无法解析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android project中第三方jar包无法解析相关的知识,希望对你有一定的参考价值。

现有两个jar包acm.jar和a.jar,放在java project中都能正常解析,放在android application project中acm.jar能够正常解析,a.jar提示cannot be resolved。l两个包都是用相同的方法放在相同呃路径下的 但是在import时一个能resolve另一个不能,求解!

参考技术A 表示有猜测,只是猜测。净等回答追问

我自己解决了,那个a.jar中的类他们是放在default package下的,因此在引用这个jar包时只有放在default package下的类能够访问这个jar包,自定义包中就不能访问,我猜测的,应该是这样

java程序打成jar包 如何处理第三方jar包

现在有一j2se程序,依赖于jdk1.5、poi.jar、commons-lang.jar。
打成jar包后,依赖于jdk的部分代码是可以执行的。但是依赖于poi.jar、commons-lang.jar这两个包的程序没有办法执行。
我知道是因为在classPath中无法找到上述两个包的缘故。但不希望每次都通过设置classpath的方式去运行这个jar程序。
请问通过什么样的打包办法可以让程序不用设置classpath而找到其所依赖的第三方jar包。谢谢javaeyer能予以指导!

在eclipse中你可以通过方式解决你的问题:
在eclipse的package explorer视图中点击项目工程邮件,选择“导出...”,再找到Java目录下的“Runnable JAR file”点击下一步,这个时候就是关键的地方了。在"Library handling"中有一个选项"Extract required libraries into generated JAR",这句话就是说“解压需要的包到生成的jar文件中去”。勾上这个选项以后,在将java工程打包的时候就会把依赖的jar包打到你的目标jar文件中去。

java的运行依赖java虚拟机以及第三方的很多jar库,在独立运行的时候必须要在classpath中找到这个些类库方能运行。
参考技术A 那就只能把你需要的jar包都一起打到你jar包里面了,但是这样可能到导致jar包比较大。

我不知道你是如何打jar包的,我使用eclipse开发,使用一个叫做fat jar的插件进行打包,打包的时候它会问你你要把那些用到的第三放jar包打到你的jar包里面,这个时候你就可以选择了,我曾经写过一个jar是连接SAP,从SAP把数据读到oracle数据库,所以我的jar包就包括sapjco.jar和classes12.jar,工作的很好。

不推荐用命令行打包,挺麻烦容易出错,老板总是希望你快快干完活而不是自己练手。本回答被提问者采纳
参考技术B 没办法的,肯定要导入包的啊~

你想让java程序自己找到包,这个有点异想天开,不过也不是没有可能

除非你自己把ClassLoader的工作,加载类(poi.jar、commons-lang.jar)的工作你自己写代码实现,这样肯定没问题
参考技术C 其实有一个比较恶心的方法,就是你把你需要的那两个包都解压,然后将里面的class文件全部添加到jdk1.5的包中,这样就不用再配置classpath就可以自行查到,但是还是不建议这样做,作为程序员,我觉得还是遵循原则比较好,其实就是配置一下环境变量没有什么难度啊,还可以在熟练一下...

以上是关于android project中第三方jar包无法解析的主要内容,如果未能解决你的问题,请参考以下文章

在android studio中添加第三方jar包找不到add as library

如何在插件开发中正确使用第三方jar包

android studio第三方框架导入为空怎么办

Android Studio 导入第三方jar包

如何解决Android 6.0中无法编译出jar

android studio 导入第三方库的记录