Android子库不在构建路径中

问题描述 投票:0回答:3

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

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

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

子库(childLib)在直接用于初始App时非常有效,但是我需要能够将子库(childLib)作为包含它的单个文件(parentLib.jar)的一部分进行分发。

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

java android jar libraries noclassdeffounderror
3个回答
0
投票

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

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


0
投票

我相信,在android中,在项目'A'中,你只能引用库'B'中的类'b',当且仅当'B'直接添加到'A'时,作为库或项目引用。将两个库设置为One或将两个库添加到主项目。


0
投票

通过迁移到Android Studio解决。

© www.soinside.com 2019 - 2024. All rights reserved.