web-dev-qa-db-ja.com

Android StudioはインポートされたAARモジュールからのシンボルを解決できません

同様の質問のすべての回答は、gradleファイルを手動で編集することについて説明しています。しかし、私はAndroid Studioを使用してAARファイルをインポートし、build.gradleファイルをチェックしましたが、すべて正しいようです。

私の問題はこれです:

failed imports

ShowCaseView v5.0.0 AARをインポートしましたが、Tutorial.Javaファイル(赤で表示)にクラスをインポートしようとすると、Android Studioはクラスを認識しません。唯一のインポートAndroid Studioが認識するのはcom.github.amlcurran.showcaseview.R

また、プロジェクトをクリーンアップして再構築し、Android Studioを閉じて再度開くことを試みましたが、役に立ちません。

P.S.プロジェクトにコピーする前のXMLファイルは無視してください。

Gradleファイル

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'
12
Ozzy

最近、私はこれとまったく同じ問題に遭遇しました。プロジェクトにインポートする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が同意しない場合)。

4
user1506104

プロジェクトのbuild.gradleファイルで「ShowCaseView-5.0.0.aar」の場所を指定する必要があります。たとえば、ShowCaseView-5.0.0.aarファイルは、プロジェクトのルートディレクトリの下にある「libs」という名前のフォルダーにあります。build.gradleファイルを更新して、以下を追加します。

allprojects {
    repositories {
        flatDir {
            dirs 'libs'
        }
    }
}
1
Junyong Yao