我的应用程序在许多项目中被拆分,这些项目作为依赖项包含在我的主库中,这是我应用程序中的依赖项。
Project Main
Project X
我的第一个问题是,我对Project X的依赖没有打包在我的APK Dex文件中,如果应用程序启动并且使用了此模块中的类,我会得到ClassNotFoundException。 我用提供的项目(':beacon')
声明了依赖关系第二个问题是,我必须在MainLibrary模块和AppModule中声明依赖项。那是两次。
感谢您的帮助
答案 0 :(得分:1)
这就是provided
依赖范围 - 它使用依赖进行编译但不将其捆绑到输出中。请改用compile
范围。
至于需要在多个地方声明对 Project X 的依赖关系,那是因为依赖关系不是传递的。如果模块应用依赖于 Project X ,则需要明确声明,而不是依赖于通过子依赖。这并不是说如果使用compile
作用域,则子依赖项不会包含在输出中,但如果要从父模块中依赖它,则需要单独声明其依赖项。 / p>