Android多模块中AAR文件无法跨模块访问问题求助
多模块AAR依赖跨模块访问问题解决
问题根源
你在m1模块中使用implementation引入lib1.aar,而implementation的核心特性是仅对当前模块可见,不会将该依赖传递给依赖m1的其他模块(比如m2)。即便m2通过api依赖m1,m1内部的implementation依赖也不会暴露给m2,这就是m2无法访问lib1内容的原因。
直接解决方案
修改m1模块的模块级Gradle配置,将lib1.aar的依赖声明从implementation改为api:
api(files("libs/lib1.aar"))
进阶优化思路
如果不想直接把lib1的全部内容暴露给m2,更符合模块化设计的做法是:在m1中封装lib1的功能,对外提供统一的接口或工具类,让m2只调用m1暴露的接口,而非直接操作lib1内部的类。这种方式既能实现功能复用,又能保持模块间的解耦。
内容的提问来源于stack exchange,提问作者WISHY
相关产品推荐
相关产品推荐

