Обновление Intercom SDK приводит к ошибке «Ошибка: (6) Ошибка при получении родительского элемента: элемент не найден, что соответствует указанному имени» - PullRequest
1 голос
/ 11 июня 2019

Я абсолютно новичок в мире разработки для Android, поэтому, пожалуйста, извините, если это глупый вопрос.

Я унаследовал очень старую кодовую базу Android, которая использует устаревший Intercom SDK.Я следовал инструкциям на https://www.intercom.com/help/articles/2723-upgrade-to-the-new-messenger-android и изменил следующие строки в build.gradle ...

compile('io.intercom.android:intercom-sdk:1.1.1@aar') {
    transitive = true
}

... на то, что было предложено в сообщении в блоге, то есть:

compile ('io.intercom.android:intercom-sdk:3.+')

К сожалению, попытка построить проект сейчас приводит к куче следующих ошибок:

Error:(6) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.
Error:(36) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'.

Я пробовал разные варианты следующего, но ничего не получалось:

compile ('io.intercom.android:intercom-sdk:3.+@aar') {
    transitive = true
}

Читая ответы на похожие вопросы, я понимаю, что это может быть связано с версией SDK (или некоторой версией библиотеки поддержки / совместимости), поэтому вот соответствующие настройки из моего файла Gradle:

compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
    applicationId 'com.vacationlabs.backoffice'
    minSdkVersion 17
    targetSdkVersion 22
    versionCode 11
    versionName "1.1.1"
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4'
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile 'com.android.support:cardview-v7:22.2.1'
    compile 'com.android.support:recyclerview-v7:22.2.1'
    compile 'com.android.support:gridlayout-v7:22.2.1'
    compile 'de.hdodenhof:circleimageview:1.3.0'
    compile 'com.android.support:design:22.2.1'
    compile 'com.android.support:support-v4:22.2.1'
    compile 'com.bartoszlipinski.recyclerviewheader:library:1.2.0'
    compile 'com.github.bumptech.glide:glide:3.6.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.squareup.okhttp:okhttp:2.4.0'
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'
    compile 'com.squareup.okio:okio:1.5.0'
    compile 'com.squareup.retrofit:retrofit:1.9.0'
    compile 'com.daimajia.swipelayout:library:1.2.0@aar'
    compile 'com.jakewharton:butterknife:7.0.1'
    compile 'com.roomorama:caldroid:2.1.0'
    compile 'com.squareup:otto:1.3.8'
    compile 'io.reactivex:rxandroid:1.0.1'
    compile 'com.google.code.gson:gson:2.3.1'
    compile 'com.google.android.gms:play-services-analytics:7.8.0'
    compile 'com.github.satyan:sugar:1.3'
    compile 'com.github.clans:fab:1.6.1'
    // compile ('io.intercom.android:intercom-sdk:3.+')

//    compile ('io.intercom.android:intercom-sdk:3.+@aar') {
//        transitive = true
//    }
    compile('io.intercom.android:intercom-sdk:1.1.1@aar') {
        transitive = true
    }
}

1 Ответ

0 голосов
/ 11 июня 2019

Вы должны проверить дерево зависимостей, используя команду ./gradlew app:dependencies.

Некоторые из ваших зависимостей имеют транзитивную зависимость с библиотекой поддержки xx.Вы должны скомпилировать (по крайней мере) с той же версией библиотеки поддержки, изменяющей

compileSdkVersion XX
...