每个使用了注解的模块都需要配置注解生成器(annotationProcessor),包括Application和Library工程。

    2、检查主工程Gradle插件是否配置

    3、检查版本号

    检查各个工程的annotationProcessor、Gradle插件、依赖的router模块版本是否一致。由于插件方案变动,各个模块版本应保持一致,配置了注解生成器的AAR建议重新打包,避免兼容问题。

    5、检查注解生成器是否正常工作

    1.0.x版本

    • 对于源码依赖的Library模块,检查目录是否生成了Java初始化类,build/intermediates/classes目录是否生成Java资源文件,且内容指向Java初始化类,如图所示。
    • 对于依赖的AAR模块,可以在Android Studio的External Libraries中查看AAR里是否包含这些文件。

    1.1.x及以上版本

    • 对于源码依赖的Library模块,检查build/generated/source/apt目录中是否生成了Java初始化类,如图所示。
    • 对于依赖的AAR模块,可以在Android Studio的External Libraries中查看AAR里是否包含Java初始化类。

    常见问题排查 - 图3

    6、检查Gradle插件是否正常工作

    1.0.x版本

    assets是否正确生成。Gradle插件会将注解生成器生成的资源文件合并到build/intermediates/assets/{buildVariant}/wm-router/services目录,其内容指向所有初始化类。

    1.1.x及以上版本

    常见问题排查 - 图5

    如果还没有解决问题,可能是工程中的配置或用法不正确。通过Debugger.setLogger(logger)配置好Logger,在LogCat中过滤WMRouter标签查看Log。例如WMRouter在跳转过程中经过的UriHandler和UriInterceptor,如图。

    8、断点调试

    9、提交Issue

    如果还是没能解决问题,需要帮助或发现BUG,请在Github。