当前位置: 首页 > 知识库问答 >
问题:

Android Studio无法解析导入AAR模块中的符号

华佐
2023-03-14

所有类似问题的答案都是关于手动编辑分级文件的。但是我已经使用Android Studio导入AAR文件,并检查了build.gradle文件,它们看起来都是正确的。

我的问题是:

我已经导入了ShowCaseViewV5.0.0AAR,但是当我试图导入tutorial.java文件中的类(您可以看到红色的)时,Android Studio无法识别这些类。Android Studio唯一识别的导入是com.github.amlcurran.showcaseview.r

我也尝试过清理和重建这个项目,关闭和重新打开Android Studio,但都无济于事。

附注。请忽略丢失的XML文件,因为在我将它们复制到项目之前。

showcaseview-5.0.0>build.gradle:

configurations.create("default")
artifacts.add("default", file('ShowCaseView-5.0.0.aar'))
apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.giraffeweather"
        minSdkVersion 19
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile project(':ShowCaseView-5.0.0')
}
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

分级设置文件settings.gradle:

include ':app', ':ShowCaseView-5.0.0'

共有1个答案

卢伟志
2023-03-14

最近,我也遇到同样的问题。我有一个AAR要导入到我的项目中。该图书馆仅作为AAR分发。我通过将AAR文件放在libs/文件夹中解决了这个问题,并在应用程序模块的Gradle中添加了以下一行:

dependencies {
    ...
    compile files('libs/theFirstLib.aar')
}

您还可以添加多个AAR,如下所示:

dependencies {
    ...
    compile files('libs/theFirstLib.aar', 'libs/theSecondLib.aar')
}

如果您使用的是Gradle 3.0.0或更高版本,则可能需要将compile替换为implementation:

implementation files('libs/theFirstLib.aar')

注意:导入AAR有时会导致另一个“无法解析符号”错误,当Android Studio和Gradle不同意时,我在这里解决了这个错误。

 类似资料:
  • 返回错误: 无法解析符号模块1 有什么建议可以解决这个错误吗?

  • 我正在使用android Studio 0.8.2并希望将数据从文件读取到数组,但我得到了这个错误:无法解析符号FileUtils。错误在这一行: 我已经包括了commons-io-2.4。应用程序中的jar文件- 如果你需要更多信息,请告诉我。

  • 我终于要从Eclipse迁移到Android Studio,连一个小模块都连不上了。 这里是参考资料中唯一的文件--正如您可以通过屏幕截图看到的,这里没有错误 但在需要它的类中,r'没有解析。所以我很困惑--没有太多东西要查

  • 我一直收到错误消息“无法解析符号‘api’”我正在开发一个应用程序,使用谷歌地点应用编程接口跟踪用户位置。我一直试图让它工作,但我的进口报表给我带来了麻烦。我在不同的地方找过,我找到的来源都告诉我不同的事情,比如... 将“compile'com.google.android.gms:play services:9.8.0”放入构建中。格雷德尔。这通常会导致项目无法同步。我对此做了一些研究,其中提

  • 对于不同的库和不同的项目,这个问题间歇性地发生。尝试导入库时,会识别包,但无法解析类名。 如果在import语句上,I,我会看到侧窗格中显示的所有反编译类--包括我需要的类--如果我尝试自动完成import语句,我会注意到我需要的类没有显示在下拉列表中。 我已经试过让缓存失效了,但不起作用。我找不到任何类冲突--在我的类路径中没有具有相同包名的其他jar文件。我能够将这个类导入到其他项目中。 有人

  • 我的问题和在其他项目中使用.aar文件的问题是一样的。但我想补充更多细节。因此提出了一个新问题。 当我Ctrl+单击该方法时,它会将我带到方法位于C:\users\myuser\.gradle\caches\transforms-1\files-1.1\library.aar\...\old.class中的旧类。我想这就是为什么我得到“无法解决符号”错误的问题。 我怎么解决这个?