>source

그래서 gson-2.2.4.jar를 libs dir에 추가했습니다 (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 dir에 넣으면 모든 것을 자동으로 처리해야한다는 것을 다른 곳에서 읽습니다.

나는 Android Studio가 작동하는 방식에 익숙하지 않지만 Build.Gradle 파일은 어떻게 생겼는가?

superEb2021-09-18 07:40:59
  • 답변 # 1

    종속성에서 다음과 같은 추가는 2021 년 현재 문제를 해결할 수 있습니다.

    implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
     implementation 'com.google.code.gson:gson:2.2.4'
    

  • 답변 # 2

    참조를 갱신하려면 (나는 검색을 찾았습니다) :

    implementation 'com.google.code.gson:gson:2.8.5'
    

    마지막 버전을 볼 수 있습니다. Github 저장소

  • 답변 # 3

    빌드에 추가하십시오 .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'
        }
    

  • 답변 # 4

    App-Level 모듈이있는 모든 라이브러리 모듈에 대해 TargetsDKVersion을 동일하게 해결함으로써 문제를 해결했습니다.

  • 답변 # 5

    이 GSON을 사용해보십시오. build.gradle에 이것을 추가하십시오 (모듈 : 앱)

    ​​구현 'com.google.code.gson : GSON : 2.2.4'

  • 답변 # 6

    내 경우에 방금이 줄을 추가했습니다.

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

    앱 Build.Gradle 파일에

    .

    지금 2.7은 다음에 따라 최종 현재 버전입니다. https://mvnrepository.com/artifact/com.google.code.gson/gson.

    이 저장소를 확인하여 마지막으로 사용 가능한 버전을 사용하고 있는지 확인하십시오.

  • 답변 # 7

    나는 같은 문제에 직면했다. 방금 아래 그림과 같이 단 한 줄을 추가했습니다. Gradle 종속성 (프로젝트 구조물에 항아리를 추가하지 않고) 그리고 그것은 나를 위해 일했습니다.

    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 18.build.gradle 파일에서.

      defaultConfig {
          minSdkVersion 10
          targetSdkVersion 18
      }
      

    3. 인터넷에 연결되어 있는지 확인하십시오. 따라서 항아리는 온라인 중앙 Maven 저장소에서 다운로드됩니다.

    #shai surve -당신을 위해 여전히 일하고 있습니까? Libs에 GSON을 포함시키고 "파일 컴파일"으로 참조하십시오.

    AndroidGuy2021-09-18 07:40:59

    예, 저를 위해 작동합니다. 인터넷에 연결되어 있지 않을 때 작동하지 않는 경우. 그런 다음 인터넷에 연결되어있는 동안 동일하게 시도하십시오. 빌드 프로세스가 온라인 중앙 Maven 저장소에서 다운로드하는 중앙 Maven 저장소에서 JAR을 가져 오기 때문입니다.

    Pioneer2021-09-18 07:40:59

    엄청난! Google code에서 GSON이 아티팩트가 있음을 알지 못했습니다. Gradle의 종속성으로 언급 할 수있는 다른 방법은 어떻게 알 수 있습니까? 원격 라이브러리에는 Build.gradle 파일이 있어야합니다.

    speedynomads2021-09-18 07:40:59

    @shaisurve 매니페스트에서 사용하는 SDK를 지정하는 것은 불필요합니다. Build.Gradle에 겹쳐 쓸 수 있습니다.

    Melllvar2021-09-18 07:40:59

    고마워 Melllvar, 당신은 맞습니다. 새로운 버전의 Android Studio 및 Gradle Manifest Use-SDK가 불필요합니다.

    Pioneer2021-09-18 07:40:59
  • 답변 # 8

    포인트를 추가하는 것만으로

    Gradle 1.7의 jCenter ()는 Mavencentral ()의 수퍼 세트입니다. 그래서 추가 및 저장소가 필요하지 않습니다.

    JAR은 온라인 중앙 jCenter 저장소에서 다운로드됩니다. 따라서 다음 명령문 만 추가하는 것이 작동합니다.

    dependencies {
    compile 'com.google.code.gson:gson:2.2.+'
    }
    

  • 답변 # 9

    폴더 이름 libs 및 vilue.gradle 추가 또는 편집 (폴더의 모든 jar lib에서 작동)

    dependencies {
        compile fileTree(dir: 'libs', include: '*.jar')
    }
    

  • 답변 # 10

    나는 같은 문제에 직면했다.

    Android 플러그인의 Maven Central을 지정하는지 해결하십시오.

    repositories {
        mavenCentral()
    }
    

    빌드 스크립트를 정의하는 경우 두 번 추가해야합니다.

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

    상위 수준에서 다시 리포지토리 지시문을 다시 한 번 밟았습니다.

    3k-2021-09-18 07:40:59
  • 이전 양식 입력 배열을 PHP 배열로 가져 오는 방법
  • 다음 html : Angularjs의 $ (문서)을 클릭하는 방법 .Click 기능