Android Module引用另一个Module,却无法使用里面的依赖库

如果模块化开发中遇到

多模块的AndroidManifest.xml没有合并
or
多模块的资源文件没有合并
or
模块A include了模块B,而无法使用模块B内依赖的其他aar包中的类的时候
or
提示Support包版本不一致
这篇文章可能就是你要的解决方案~

举个栗子:

比如我们现在有一个App模块设计为:
主工程: app
模块: ui , framework

引入模块的方式:在settings.gradle中,指定正确的模块路径

include ':app', ':framework', ':ui'
project(':framework').projectDir = new File('../framework')
project(':ui').projectDir = new File('../ui')

如果现在framework引入了一些依赖库,假设如下:


	// Retrofit 网络框架依赖
    implementation "com.squareup.retrofit2:retrofit:2.5.0"

    // Gson 依赖
    implementation 'com.google.code.gson:gson:2.8.5'

    // ARouter解耦框架
    implementation 'com.alibaba:arouter-api:1.4.1'
    annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'

如果这样写的话,主工程app中将无法调用到这些依赖库中的类。
因为implementation声明的依赖只能在本module模块内使用,跨module使用就要使用api声明(其实就是曾经的compile,但是如果设置成compile,AS又要给你叫叫叫)!!改成如下即可

	// 

你可能感兴趣的:(Android开发中遇到的问题)