17

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

我的问题是这样的:

进口失败

我已经导入了 ShowCaseView v5.0.0 AAR,但是当我尝试在我的 Tutorial.java 文件中导入类时(你可以看到红色)Android Studio 无法识别这些类。Android Studio 识别的唯一导入是com.github.amlcurran.showcaseview.R.

我也尝试清理和重建项目,关闭并重新打开 Android Studio,但它没有帮助。

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

摇篮文件

ShowCaseView-5.0.0 > build.gradle:

configurations.create("default")
artifacts.add("default", file('ShowCaseView-5.0.0.aar'))

我的应用程序的 build.gradle:

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')
}

Android Studio 项目的 build.gradle:

// 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()
    }
}

gradle 设置文件 settings.gradle:

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

2 回答 2

4

最近,我遇到了同样的问题。我有一个 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 或更高版本,您可能需要替换compileimplementation

implementation files('libs/theFirstLib.aar')

像魅力一样工作!

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

于 2018-05-02T16:38:17.330 回答
2

您需要在项目的 build.gradle 文件中指定“ShowCaseView-5.0.0.aar”的位置。例如,ShowCaseView-5.0.0.aar 文件位于项目根目录下名为“libs”的文件夹中,更新您的 build.gradle 文件以添加以下内容

allprojects {
    repositories {
        flatDir {
            dirs 'libs'
        }
    }
}
于 2017-03-08T06:22:24.563 回答