正如主题表明我想创建一个使用一些android功能(没有布局),并将包括在Android项目中的jar库。 这是可能的和如何? 从我做的研究,我设法包括一个简单的jar文件,使用纯Java(JAVA SE 1.6),但 当我尝试创建一个jar文件时,我试图运行Andoid应用程序时遇到以下异常:
致命异常:主要
java.lang.NoClassDefFoundError:mylib.pleasework.amen
我试过包括的android.jar在我的图书馆和移除Java库,使该jar文件,建立针对Android SDK中,但它没”工作。
我试过将jar文件包含在/ libs文件夹下,因为它被认为是从ADT v17和之后导入android项目中的jar的正确方法,但那也不起作用。
我想创建的jar不会使用任何资源(xml布局,strings.xml),只需要Log.d和WifiManager。
我知道Android库项目,但我的图书馆资源是敏感的,如果暴露在Android库项目中,恐怕它不安全。我正在考虑创建一个jar并使用ProGuard(http://developer.android.com/tools/help/proguard.html)对其进行混淆。 我想我提到了一切。任何帮助将不胜感激。是否有可能创建包含android功能的jar?
感谢,
托马斯
首先谢谢你的回答。我已经从Eclipse中导出jar文件,并将其导入到我的Android项目中,并且在构建时一切正常。在运行时,我得到了上面提到的异常。我不知道是否直蚂蚁使用会有所作为我想我会尝试......在我的jar我应该包括出口android.jar或不?关于安全性,如果我理解正确,创建一个库项目并导入jar会创建一个“封装”层,因此它会更安全? – 2012-07-11 11:30:25
@ThomasKa:如果您使用的是R17或更高版本的工具,那么只需在'libs /'中使用JAR即可。如果它没有找到这些类,请确保它们在JAR中,在我的jar中标记为'public'等。“我应该包括 - 也不会导出android.jar?” - 绝对不。 “创建一个库项目并导入jar会创建一个更多的”封装“层,因此它会更安全?” - 一旦代码离开开发机器,它本质上是不安全的。我猜你的问题是你不想发布源代码,并且有办法解决这个问题。 – CommonsWare 2012-07-11 11:35:59