AAR 文件中的类在 Android Studio 中不可用

zun*_*ndi 7 android proguard aar android-proguard

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

当我尝试使用这个 aar 文件的类时,除了一个类之外,所有这些类都可用。我最初想象它可能是 Proguard,但我什至删除了 Proguard,它仍然不可用。它是一个公共类,当我反编译 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;
    }

}
Run Code Online (Sandbox Code Playgroud)

知道为什么我不能从主项目访问这个类吗?

谢谢!

zun*_*ndi 5

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

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