Class AAR 文件在 Android Studio 中不可用

Class in AAR file not available in Android Studio

我创建了一个库项目,我将其构建为 AAR 文件,然后将其包含在另一个项目中。它位于 libs 文件夹中,主 gradle.build 文件包含它:implementation fileTree(include: ['*.jar','*.aar'], dir: 'libs')

当我尝试使用这个 aar 文件的 classes 时,除了一个 class 之外,所有文件都可用。我一开始以为是Proguard,后来我连Proguard都去掉了,还是不可用。它是一个 public class,甚至在我反编译 AAR 文件时它就在那里。

这是内容:

package com.onboarding;

import android.content.Context;
import android.content.Intent;
import android.support.annotation.Keep;


/**
 *
 */
@Keep
public class Builder {


    /**
     *
     */
    public static String mainColor = null;
    public static String baseUrl = null;
    public static Class firstActivity = null;
    public static Class onboardingSettingsActivity = null;


    /**
     *
     */
    public static String tosUrl = null;
    public static String privacyUrl = null;
    public static String cookieUrl = null;
    public static String contactsLearnMoreUrl = null;


    /**
     *
     */
    private static Builder builder = null;


    /**
     *
     */
    private Builder() {}


    /**
     *
     */
    public static Builder init() {
        if (builder == null) {
            builder = new Builder();
        }
        return builder;
    }


    /**
     *
     */
    public void start(final Context context) {
        final Intent intent = new Intent(context, Onboarding1.class);
        context.startActivity(intent);
    }


    /**
     *
     */
    public Builder setMainColor(final String color) {
        mainColor = color;
        return this;
    }


    /**
     *
     */
    public Builder setBaseUrl(final String url) {
        baseUrl = url;
        return this;
    }


    /**
     *
     */
    public Builder setFirstActivity(final Class c) {
        firstActivity = c;
        return this;
    }


    /**
     *
     */
    public Builder setOnboardingSettingsActivity(final Class c) {
        onboardingSettingsActivity = c;
        return this;
    }


    /**
     *
     */
    public Builder setTosUrl(final String u) {
        tosUrl = u;
        return this;
    }


    /**
     *
     */
    public Builder setPrivacyUrl(final String u) {
        privacyUrl = u;
        return this;
    }


    /**
     *
     */
    public Builder setCookieUrl(final String u) {
        cookieUrl = u;
        return this;
    }


    /**
     *
     */
    public Builder setContactsLearnMoreUrl(final String u) {
        contactsLearnMoreUrl = u;
        return this;
    }

}

知道为什么我无法从主项目访问这个 class 吗?

谢谢!

您好,您检查过您的依赖项了吗?如果它被添加在那里?我的意思是这个 Also refer to this documentation 实现和 api 之间的区别。

在随机工作然后不工作之后,似乎是 Android Studio 中的 File -> Invalidate caches / restart 成功了。

显然 Android Studio 缓存了 aar 的某些部分,即使 CleanRebuild 也无法修复。