реализация gson в gradle не работает - PullRequest
0 голосов
/ 21 апреля 2020

Я хотел реализовать gson в своем android проекте, но после того, как я включил реализацию gson в Gradle, произошла ошибка, подобная этой:

Тип com.google.gson.annotations.Expose определен несколько раз

Я пытался понизить версию до 2.8.2, но произошла другая ошибка, например:

ошибка: ошибка при записи Expose: не удалось создать родительские каталоги publi c @interface Expose {

Я еще не использовал реализацию в своем проекте, но ошибка продолжает препятствовать запуску приложения.

gradle:

 apply plugin: 'com.android.application'

    android {
       compileSdkVersion 28
       buildToolsVersion '26'
       defaultConfig {
        useLibrary 'org.apache.http.legacy'
        manifestPlaceholders = [applicationName: "Sample"]
        applicationId "com.odoo"
        minSdkVersion 14
        targetSdkVersion 26
        versionCode 7
        versionName "2.3.0"
    }
    buildTypes {
        debug {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:cardview-v7:28.0.0'
    //implementation 'com.google.android.gms:play-services-gcm:10.2.1'
    implementation 'com.android.support:design:28.0.0'
    implementation 'com.android.volley:volley:1.1.0'
    implementation project(':intro-slider-lib')
    implementation 'com.android.support:support-v4:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.google.code.gson:gson:2.8.6'
}

обновлено:

Я попытался также использовать простой пример с использованием gson без его реализации:

 Gson gson = new Gson();
 Sample sample= new Sample("Sample", 20, 15, 5);
 String json = gson.toJson(sample);

результат null, json {}

Почему реализация показывает ошибки, подобные этой во время выполнения, и как я могу это исправить? Спасибо.

Ответы [ 2 ]

0 голосов
/ 21 апреля 2020

Похоже, что gson уже используется в intro-slider-lib, вам нужно исключить его оттуда

implementation project(':intro-slider-lib') {
    transitive = true; 
    exclude module: 'gson' 
}
0 голосов
/ 21 апреля 2020

Сделайте это:

File -> Invalidate & Restart Android

Это очистит все данные кэша, которые вызывают проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...