ARouter.openDebug()
ARouter.openLog()
再测试运行的时候,一定要加上这两句话
// It will rebuild router map every times when debuggable.
if (ARouter.debuggable() || PackageUtils.isNewVersion(context)) {
logger.info(TAG, "Run with debug mode or new install, rebuild router map.");
// These class was generate by arouter-compiler.
routerMap = ClassUtils.getFileNameByPackageName(mContext, ROUTE_ROOT_PAKCAGE);
if (!routerMap.isEmpty()) {
context.getSharedPreferences(AROUTER_SP_CACHE_KEY, Context.MODE_PRIVATE).edit().putStringSet(AROUTER_SP_KEY_MAP, routerMap).apply();
}
PackageUtils.updateVersion(context); // Save new version name when router map update finish.
} else {
logger.info(TAG, "Load router map from cache.");
routerMap = new HashSet<>(context.getSharedPreferences(AROUTER_SP_CACHE_KEY, Context.MODE_PRIVATE).getStringSet(AROUTER_SP_KEY_MAP, new HashSet<String>()));
}
看源码可知 在LogisticsCenter的类中通过下面的语句判断
if (ARouter.debuggable() || PackageUtils.isNewVersion(context))
是否添加对应索引,如果不是DEBUG,并且不是新版本,就不会生成对应索引,导致查询不到要显示的内容
本文详细解析了ARouter框架在调试模式下如何生成和更新路由映射,阐述了在非DEBUG模式和非新版本情况下,框架不会重新生成路由索引,可能导致内容无法正常显示的问题。
869

被折叠的 条评论
为什么被折叠?



