我目前正在创建一个使用我已经制作的库(我们称之为parentLib)的应用程序。这个库还使用了我创建的另一个库(我们称之为childLib)。因此,顶级应用程序包含.jar文件(parentLib),而.jar文件是另一个.jar文件(childLib)。
但问题是,当我从顶级应用程序使用子库(childLib)的一个方面时,我得到一条NoClassDefFoundError消息,它会使应用程序崩溃。
奇怪的是,如果我将子库(childLib)直接添加到App的libs文件夹(parentLib)中,那么事情就会起作用,即使它实际上并没有使用这些库文件。好像它只需要子库(childLib)添加到库的构建路径(parentLib),以便应用知道在哪里寻找它,但我真的不确定?
子库(childLib)在直接用于初始App时非常有效,但是我需要能够将子库(childLib)作为包含它的单个文件(parentLib.jar)的一部分进行分发。
非常感谢任何帮助,提前感谢!
...我需要能够将子库(childLib)作为包含它的单个文件(parentLib.jar)的一部分进行分发。
你可以将parentLib
和childLib
“合并”在同一个包下(我的意思是“合并”他们的源文件夹)然后才创建jar用于分发。
我相信,在android中,在项目'A'中,你只能引用库'B'中的类'b',当且仅当'B'直接添加到'A'时,作为库或项目引用。将两个库设置为One或将两个库添加到主项目。
通过迁移到Android Studio解决。