そこで、libsディレクトリにgson-2.2.4.jarを追加しました(Android studioを使用しています)。私のプロジェクトはgsonのものを見つけることができなかったので、「Project Structure」のモジュールにライブラリの依存関係として追加しました。プロジェクトを実行しようとすると、ビルドが次のエラーで失敗します。
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
なぜこれが機能しないのですか?私は他の場所で、gradleがlibディレクトリに置かれている場合、gradleがすべてを自動的に処理することになっていることを読みました。
プロジェクト構造設定で依存関係として追加するだけでは不十分です。その設定はIDE専用です。実際にビルドするには、Gradleもそれに注意する必要があります。 .jarファイルをbuild.gradleファイルに追加する必要があります...
dependencies {
compile files('libs/gson-2.2.4.jar')
}
私は同じ問題に直面しました。 build.gradleの依存関係に以下に示すように(プロジェクト構造にjarを追加せずに)1行追加しただけで、うまくいきました。
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.+'
}
上記に加えて、これが機能するために必要なものがいくつか見つかりました。
AndroidManifest.xmlファイルにAndroid:targetSdkVersion="18"
があることを確認してください。
<uses-sdk
Android:minSdkVersion="10"
Android:targetSdkVersion="18" />
Build.gradleファイルにtargetSdkVersion 18
があることを確認してください。
defaultConfig {
minSdkVersion 10
targetSdkVersion 18
}
インターネットに接続していることを確認してください。そのため、jarはオンラインの中央Mavenリポジトリからダウンロードされます。
ポイントを追加するだけで、
Gradle 1.7の時点では、jcenter()はmavenCentral()のスーパーセットです。したがって、ディレクティブを追加およびリポジトリする必要はありません。
ジャーは、オンラインの中央jcenterリポジトリからダウンロードされます。そのため、次のステートメントだけを追加すると機能します。
dependencies {
compile 'com.google.code.gson:gson:2.2.+'
}
私は同じ問題に直面しました。
解決するには、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')
}
私の場合、次の行を追加しました。
dependencies {
compile 'com.google.code.gson:gson:2.7'
}
私のアプリのbuild.gradleファイル。
現在、2.7は次のように最新の利用可能なバージョンです: https://mvnrepository.com/artifact/com.google.code.gson/gson
このリポジトリをチェックして、使用可能な最新バージョンを使用していることを確認してください。
これをbuild.gradleに追加します(モジュール:アプリ)
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.Android.support:appcompat-v7:27.1.1'
implementation 'com.Android.support:design:27.1.1'
implementation 'com.google.code.gson:gson:2.8.0'
}
このGSONを試してください。これをbuild.gradleに追加します(モジュール:app)
implementation 'com.google.code.gson:gson:2.2.4'
参照を更新するだけです(探していました):
implementation 'com.google.code.gson:gson:2.8.5'
Githubプロジェクトで最新バージョンを確認できます。
フォルダー名libsを作成し、build.gradleを追加または編集します(フォルダー内の任意のjar libで機能します)
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
TargetSdkVersionをアプリレベルモジュールのすべてのライブラリモジュールで同じにすることで、問題を解決しました。