Android 类可以被引用到但是编译时报错Unresolved reference

最近开发时遇到一个奇怪现象。

开发的项目使用模块化开发,分为多个module,底层share module提供一些基础组件,比如网络请求组件。

不同的module又分为不同的build目录,同一个module根据buildtype不同分为目录A和目录B,打包时会根据buildtype不同生成只包含A的代码和只包含B的代码。

现在的需求是在底层share module建立A和B目录,使得A目录里的组件只能被上层module里的A目录下代码来使用。

奇怪的现象是在share module里,我将原来一些在B目录下的代码转移到A目路,路径名不变,上层module里A目录的引用路径也不变。代码引用和使用是没有问题,但是编译时却提示找不到,报错Unresolved reference。

这个报错就让人很奇怪,明明能引用到,却在编译时提示找不到。

调试了很多次,也分析了很多原因,未能解决。

后来决定尝试奖路径名更改,原来在B目录下的代码在A目录下的路径名进行调整,使得迁移代码的路径发生改变。

这次在编译时竟然顺利通过了。

后来分析原因,也许是因为路径名未改变,在编译时未触发某些类的编译。

改变路径后,重新触发编译,编译通过。

你可能感兴趣的:(android,android,studio)