it-swarm.dev

يتعذر على Android Gradle العثور على فئة الرمز Gson

لذلك أضفت gson-2.2.4.jar إلى libs dir (أستخدم استوديو Android). لم يتمكن مشروعي من العثور على مواد 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

لماذا لا يمكنني الحصول على هذا العمل؟ قرأت في أي مكان آخر أنه من المفترض أن يتم تشغيل كل شيء تلقائيًا إذا تم وضعه في المكتبة.

50
jensengar

لا تعد إضافتها كتبعية في إعدادات بنية المشروع كافية. هذا الإعداد هو فقط ل IDE. لبناء في الواقع ، يحتاج Gradle أيضا أن يكون على علم به. يجب عليك إضافة ملف .jar إلى ملف build.gradle الخاص بك مثل ...

dependencies {
    compile files('libs/gson-2.2.4.jar')
}
41
Alex Fu

واجهت نفس المشكلة. لقد أضفت للتو سطرًا واحدًا كما هو موضح أدناه في تبعيات build.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 المركزي على الإنترنت.

95
Sahil

فقط لإضافة نقطة ،

اعتبارًا من Gradle 1.7 ، تعد jcenter () مجموعة شاملة من mavenCentral () ... لذلك لا داعي لإضافة التوجيه ومستودعات التخزين.

سيتم تنزيل الجرار من مستودع jcenter المركزي عبر الإنترنت. مضيفا فقط العبارة التالية تعمل.

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

لقد واجهت نفس المشكلة.

لحلها ، تأكد من تحديد maven central لـ Android plugin

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

في حالتي ، أضفت هذا السطر للتو:

dependencies {

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

على ملف التطبيق build.gradle الخاص بي.

في الوقت الحالي ، 2.7 هو آخر إصدار متوفر حاليًا وفقًا لما يلي: https://mvnrepository.com/artifact/com.google.code.gson/gson

يرجى التحقق من هذا المستودع للتأكد من أنك تستخدم آخر إصدار متاح.

6
Juan Pablo

أضف هذا على 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'
    }
3
Abu Nayem

جرب هذا GSON. أضف هذا على build.gradle (الوحدة: التطبيق)

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

3
rhaldar

إنشاء libs اسم المجلد وإضافة أو تحرير build.gradle (يعمل مع أي jib lib في المجلد)

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

فقط لتحديث المرجع (كنت أبحث عن):

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

يمكنك مشاهدة الإصدار الأخير من مشروع github الخاص به:

أدخل وصف الرابط هنا

0
Cícero Moura

لقد قمت بحل المشكلة عن طريق جعل targetSdkVersion نفسه بالنسبة لكل وحدة المكتبة باستخدام الوحدة النمطية لمستوى التطبيق.

0
M.Noman