8

Android Studio(GameBaseUtils) でディレクトリを依存関係として追加しようとしています。他のSOの回答が特定の問題の正しいgradle構成を単に投稿しているのを見たことがありますが、私の状況に回答を適応させる方法がわかりません。

これが私がしたことです:

ステップ 1: ファイル -> モジュールのインポート -> ディレクトリに移動して選択します。

ステップ 2-: ファイル -> プロジェクト構造 -> モジュール -> アプリケーションを選択 -> 依存関係 -> モジュールを依存関係としてプロジェクトに追加します。

これで、モジュールのインポート エラーを示す赤い線がコードに表示されなくなりました。ただし、ビルドを選択すると、次のエラーが表示されます。

Gradle: package com.google.example.games.basegameutils does not exist
Gradle: cannot find symbol class BaseGameActivity
Gradle: cannot find symbol variable super
...

これが私のアプリケーションのbuild.gradleファイルです

buildscript {
repositories {
    mavenCentral()
}
dependencies {
    classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'

dependencies {
compile files('libs/android-support-v4.jar')
}

android {
compileSdkVersion 17
buildToolsVersion "17.0.0"

defaultConfig {
    minSdkVersion 8
    targetSdkVersion 17
}
}

この外部ライブラリを正しくインポートするにはどうすればよいですか?ソリューションが機能する方法と理由を説明してください。

4

2 に答える 2

8

だからここに私が私の問題を解決した方法があります:

追加する代わりに

dependencies {
    compile files('libs/android-support-v4.jar')
    compile project(':Module')
}

あなたは書く必要があります:

dependencies {
    compile files('libs/android-support-v4.jar', '../Module')
}

2 つのドットは、モジュール (またはディレクトリ) が実際のディレクトリの 1 つ上のディレクトリにあることを示しています。したがって、2 つ上のディレクトリにあるモジュールにアクセスする場合は、次のように記述するだけです。'../../ModuleName'

Android Studio はまだ開発中であり、プロジェクト構造を編集するための UI が完成していないため、build.gradle にモジュールを手動で追加する必要があります。

これで問題が解決しない場合は、次のようにしてみてください: (この方法をお勧めします。これが私が実際に行っている方法です)

構造例:

  • 計画

    • ライブラリ (通常のフォルダ)
      • モジュール2
    • モジュール1

settings.gradle

include ':Module1', ':libraries:Module2'

build.gradle (モジュール 1)

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

dependencies {
    compile project(':libraries:Module2')
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.0.1"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 11
    }
}

build.gradle (モジュール 2)

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android-library'

dependencies {
    compile 'com.android.support:support-v4:18.0.0'
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.0.1"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 11
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            res.srcDirs = ['res']
        }
    }
}

これでうまくいくはずです。すべてを 100% 機能させるには、次の手順に従います。

  1. .ideaフォルダを削除
  2. すべての*.imlファイルを削除
  3. Android Studio を再起動し、Import Project
  4. Gradle プロジェクトのディレクトリを選択します
  5. Import project from external model> Gradle > 次へ > 終了

この手順で、すべてがうまくいくはずです。何か問題があれば教えてください:)

于 2013-07-10T16:57:55.827 に答える