常见异常: 1、编译异常:Error: Program type already present: com.alibaba.android.arouter.routes.ARouter$$Group$$arouter,查看所有moudle中的路径配置,
解决:是否包含arouter,Arouter中的AutowiredServiceImpl类已经使用了/arouter/service/autowired这个路径 所有冲突了。
**
* Autowired service impl.
*
* @author zhilong <a href="mailto:zhilong.lzl@alibaba-inc.com">Contact me.</a>
* @version 1.0
* @since 2017/2/28 下午6:08
*/
@Route(path = "/arouter/service/autowired")
public class AutowiredServiceImpl implements AutowiredService {
private LruCache<String, ISyringe> classCache;
private List<String> blackList;
…………
}
2、编译异常:Error: Program type already present: com.alibaba.android.arouter.routes.ARouter$$Group$$Main,最后这个Main是自己定义的,可能不一样
解决:查看所有moudle中,看看path的一级是否存在两个以上moudle使用Main的情况。
//LibraryA中使用
public final class AA{
public final static String LibraryA="/LibraryA";
public final static String Home=LibraryA+"/Home";
}
//主工程中使用
public final class Main{
public final static String Main="/Main";
public final static String Work=Main+"/Work";
}
//LibraryB中使用
public final class BB{
public final static String LibraryB="/LibraryB";
public final static String New="/Main"+"/New";
}
这里主工程和LibraryB中都使用了Main作为一级path,所以存在问题。
3、运行异常,跳转时崩溃: com.alibaba.android.arouter.exception.HandlerException: ARouter::Parameter is invalid!
原因可能是使用的path只有一级
ARouter.getInstance().build(BaseRoute.BB.LibraryB).navigation();
//LibraryB中使用
public final class BB{
public final static String LibraryB="/LibraryB";
public final static String New=LibraryB+"/New";
}