alibaba / ARouter

💪 A framework for assisting in the renovation of Android componentization (帮助 Android App 进行组件化改造的路由框架)
Apache License 2.0
14.45k stars 2.61k forks source link

R8混淆报错了-dontwarn javax.lang.model.element.** #1060

Open danatechgithub4 opened 9 months ago

danatechgithub4 commented 9 months ago

Missing class javax.lang.model.element.Element (referenced from: javax.lang.model.element.Element com.alibaba.android.arouter.facade.model.RouteMeta.rawType and 4 other contexts)

以前用的-dontwarn javax.lang.model.element.** 已经不起作用了,兄弟们怎么办?

NingXiaAndroidYP commented 2 months ago

怎么处理的?也遇到了

danatechgithub4 commented 2 months ago

怎么处理的?也遇到了

自己Fork一份,删掉Element

image

danatechgithub4 commented 2 months ago
package com.alibaba.android.arouter.compiler.entity;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.facade.enums.RouteType;
import com.alibaba.android.arouter.facade.model.RouteMeta;

import java.util.Map;

import javax.lang.model.element.Element;

public class RouteMetaKapt extends RouteMeta {

    private Element rawType;        // Raw type of route

    /**
     * Type
     *
     * @param type        type
     * @param rawType     rawType
     * @param destination destination
     * @param path        path
     * @param group       group
     * @param paramsType  paramsType
     * @param priority    priority
     * @param extra       extra
     */
    public RouteMetaKapt(RouteType type, Element rawType, Class<?> destination, String name, String path, String group, Map<String, Integer> paramsType, int priority, int extra) {
        super(type, destination, name, path, group, paramsType, priority, extra);
        this.rawType = rawType;
    }

    /**
     * Type
     *
     * @param route      route
     * @param rawType    rawType
     * @param type       type
     * @param paramsType paramsType
     */
    public RouteMetaKapt(Route route, Element rawType, RouteType type, Map<String, Integer> paramsType) {
        this(type, rawType, null, route.name(), route.path(), route.group(), paramsType, route.priority(), route.extras());
    }

    public Element getRawType() {
        return rawType;
    }

    public RouteMeta setRawType(Element rawType) {
        this.rawType = rawType;
        return this;
    }

    @Override
    public String toString() {
        return super.toString() + " rawType = " + rawType;
    }
}

image