我需要从JRE7图书馆借了一些jar添加到我的Android项目。 但例如rt.jar
与冲突android.jar
从2.2的Adroid的SDK,所以我得到这个错误:
不明智或核心类的误使用(java中。*或使用javax。*)时,不建立一个核心库。
这往往是由于在不经意间,包括在应用程序的项目中核心库文件,使用IDE(如Eclipse)时。 如果你确定你不是故意定义一个核心类,那么这是怎么回事的最可能的解释。
然而,你可能实际上是试图确定在核心命名空间中的一类,它的你可能已经采取了,例如,从非Android的虚拟机项目的源代码。 这将最稳妥不起作用。 至少,它危害您的应用程序与平台的未来版本的兼容性。 人们还经常合法性成疑。
如果你真的打算建立一个核心库 - 这是唯一适当的,创建一个完整的虚拟机分配的一部分,而不是编译应用程序 - 然后用“--core库”选项抑制出现此错误消息。
如果你继续使用“--core库”,但事实上构建应用程序,然后谅解,您的应用程序仍然将无法生成或运行,在某些时候。 请为愤怒的客户谁找到,例如准备,您的应用程序停止一旦他们升级其操作系统的功能。 你会责怪这个问题。
如果您正在使用合法一些代码,恰好是一个核心包,那么你有最简单安全的替代是重新包装的代码。 也就是说,移动有问题的类到自己的包命名空间。 这意味着他们将永远不会与核心系统类冲突。 JarJar是一个工具,可以帮助你在这一努力。 如果你发现你不能做到这一点,那么这是一个迹象,你是在路径将最终导致疼痛,痛苦,悲伤和哀悼。
我知道已经有关于它的几个线程之类的东西JarJar , OneJar或FatJar可能是为我好。 但我不知道如何使它们中的任何工作和文件并没有真正说清楚(对我来说)。 我猜他们使用Ant的命令,但我一直使用的Eclipse内置的建设者,现在我不知道怎么用都不蚂蚁也不是上述任何。
所以我的问题是:我怎么能改装这个rt.jar的,所以我可以在我的Android项目编译它?
谢谢!
编辑:
好了,我想达到的目标是创建一个.jar,它可以开发Android应用程序中使用(简化一些功能,其实并不重要)。 但我也想能够非常相同的.jar添加到标准的Java项目,才能使用某些功能有作为。 它应该是这样的:谁写的应用程序添加此的.jar他的Java项目 - >这使他产生某些文件(需要互联网这样做) - >这些生成的文件,然后添加到Android项目 - >以后,当有人使用这个Android应用程序,这些文件提供某些功能,而不会使用互联网(离线)。