Android子库不在构建路径中

时间:2014-06-02 08:49:46

标签: java android jar libraries noclassdeffounderror

我目前正在制作一个使用库的应用程序(让我们称之为parentLib)。这个库还使用了我创建的另一个库(让我们称之为childLib)。所以顶级应用程序包含一个.jar文件(parentLib),而.jar文件是另一个.jar文件(childLib)。

问题是,当我从顶级应用程序使用子库(childLib)的一个方面时,我收到一条NoClassDefFoundError消息,它会使应用程序崩溃。

奇怪的是,如果我将子库(childLib)直接添加到App的libs文件夹(parentLib)中,那么事情就会起作用,即使它实际上没有使用那些库文件。好像它只需要将子库(childLib)添加到库的构建路径(parentLib),以便应用程序知道在哪里查找它,但我真的不确定?

当直接从初始App使用时,子库(childLib)工作得很好,但我需要能够将子库(childLib)作为包含它的单个文件(parentLib.jar)的一部分进行分发。

非常感谢任何帮助,提前谢谢!

3 个答案:

答案 0 :(得分:0)

  

...我需要能够将子库(childLib)作为包含它的单个文件(parentLib.jar)的一部分进行分发。

你可以"合并"同一个包下的parentLibchildLib(我的意思是"合并"他们的源文件夹)然后才创建jar以供分发。

答案 1 :(得分:0)

我相信,在Android中,在一个项目' A '中,你只能引用一个类' b &#39 ;来自图书馆' B ',当且仅当' B '直接添加到' A ' ,作为库或项目参考。将两个库设置为One或将两个库添加到主项目。

答案 2 :(得分:0)

已通过移至Android Studio来解决。