52

そこで、libs dir に gson-2.2.4.jar を追加しました (Android Studio を使用しています)。私のプロジェクトはGsonのものを見つけることができなかったので、「プロジェクト構造」のモジュールにライブラリ依存関係として追加しました。プロジェクトを実行しようとすると、ビルドが次のエラーで失敗します。

Error:(12, 23) Gradle: package com.google.gson does not exist
Error:(37, 3) Gradle: cannot find symbol class Gson
Error:(37, 19) Gradle: cannot find symbol class Gson

なぜこれを機能させることができないのですか? libディレクトリに配置されている場合、Gradleはすべてを自動的に処理することになっていることを他の場所で読みました。

4

11 に答える 11

96

私は同じ問題に直面しました。以下に示すように、build.gradle 依存関係に 1 行を追加しただけで (プロジェクト構造に jar を追加せずに)、うまくいきました。

dependencies {
    compile 'com.google.code.gson:gson:2.2.+'
    compile 'com.android.support:support-v4:13.0.+'
    compile 'com.android.support:appcompat-v7:18.0.+'
}

上記に加えて、これが機能するために必要なものがいくつか見つかりました。

  1. android:targetSdkVersion="18"AndroidManifest.xml ファイルに含まれていることを確認してください。

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="18" />
    
  2. targetSdkVersion 18build.gradle ファイルにあることを確認してください。

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }
    
  3. インターネットに接続していることを確認してください。jar がオンラインの中央 Maven リポジトリからダウンロードされるようにします。

于 2013-08-10T17:39:13.103 に答える
43

プロジェクト構造設定で依存関係として追加するだけでは不十分です。その設定は IDE 専用です。実際にビルドするには、Gradle もそれを意識する必要があります。次のように.jarファイルをbuild.gradleファイルに追加する必要があります...

dependencies {
    compile files('libs/gson-2.2.4.jar')
}
于 2013-07-28T22:55:38.020 に答える
20

ポイントを追加するだけで、

Gradle 1.7 の時点で、jcenter() は mavenCentral() のスーパーセットなので、リポジトリ ディレクティブを追加する必要はありません。

Jar は、オンラインの中央 jcenter リポジトリからダウンロードされます。したがって、次のステートメントを追加するだけで機能します。

dependencies {
compile 'com.google.code.gson:gson:2.2.+'
}
于 2015-07-06T02:37:49.740 に答える
14

私は同じ問題に直面しました。

それを解決するには、必ず Android プラグインに maven central を指定してください。

repositories {
    mavenCentral()
}

ビルド スクリプトを定義している場合は、2 回追加する必要があります。

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


repositories {
    mavenCentral() 
}


apply plugin: 'android' dependencies {    
    compile 'com.google.code.gson:gson:2.2.4'
    compile 'com.android.support:support-v4:13.0.0'   
    compile project(':libraries:volley') 
}
于 2013-09-03T16:02:31.550 に答える
6

私の場合、次の行を追加しました。

dependencies {

    compile 'com.google.code.gson:gson:2.7'
}

私のアプリのbuild.gradleファイルで。

https://mvnrepository.com/artifact/com.google.code.gson/gsonによると、現時点では 2.7 が最新の利用可能なバージョンです 。

このリポジトリをチェックして、利用可能な最後のバージョンを使用していることを確認してください。

于 2016-10-03T11:02:33.280 に答える