Arouter异常汇总

常见异常:
 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 Contact me.
 * @version 1.0
 * @since 2017/2/28 下午6:08
 */
@Route(path = "/arouter/service/autowired")
public class AutowiredServiceImpl implements AutowiredService {
    private LruCache classCache;
    private List 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";
}

这个demo的源码:https://github.com/qiantanlong/ArouterDemo

你可能感兴趣的