ошибка: ресурс android: attr / fontVariationSettings не найден

153

Предупреждение:android.dexOptions.incrementalсвойство устарело и не влияет на процесс сборки. /home/midhilaj/.gradle/caches/transforms-1/files-1.1/appcompat-v7-26.1.0.aar/be3106efb0df111fe5a3f7b356dd070b/res/values/values.xml Ошибка: (246, 5) ошибка: ресурс android: attr / fontVariationSettings не найден. /project/bkup/7_march_2018/hyshoper/milla/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml Ошибка: (246, 5) ошибка: ресурс android: attr / ttcIndex не найден. Ошибка: (269) ресурс android: attr / ttcIndex не найден. Ошибка: (269) ресурс android: attr / fontVariationSettings не найден. Ошибка: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: ошибка AAPT2: проверьте журналы для подробностей. Ошибка: не удалось связать ссылки. Ошибка: java.util.concurrent.

Не удалось выполнить aapt Информация: 9 ошибок Информация: BUILD FAILED в 2s Информация: 1 предупреждение Информация: полный вывод в консоли

Как решить эту проблему? мои зависимости

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })


    compile 'de.hdodenhof:circleimageview:2.2.0'



    compile('com.alibaba.android:ultraviewpager:1.0.6.1@aar') {
        transitive = true
    }
    compile('org.apache.httpcomponents:httpmime:4.3.6') {
        exclude module: 'httpclient'
    }
    compile 'com.synnapps:carouselview:0.1.4'
    compile 'com.sun.mail:android-mail:1.5.5'
    compile 'com.sun.mail:android-activation:1.5.5'
    implementation 'com.muddzdev:styleabletoast:2.0.2'
    compile 'javax.annotation:javax.annotation-api:1.2'




    compile 'me.grantland:autofittextview:0.2.+'
    // base library
     //slider
    compile 'com.ss.bannerslider:bannerslider:1.8.0'
    //noinspection GradleCompatible
    compile 'jp.wasabeef:recyclerview-animators:2.2.7'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.google.code.gson:gson:2.6.2'
    compile 'com.github.satyan:sugar:1.4'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.android.support:percent:26.1.0'
    compile 'com.google.code.gson:gson:2.6.2'
    compile 'com.github.satyan:sugar:1.4'
    compile 'jp.wasabeef:recyclerview-animators:2.2.6'
    compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.+'
    compile 'com.afollestad.material-dialogs:core:0.9.4.2'
    compile 'com.google.android.gms:play-services:9.8.0'
    compile 'com.google.android.gms:play-services-auth:9.8.0'
    compile 'com.google.android.gms:play-services-location:9.8.0'
    compile 'com.google.firebase:firebase-core:9.8.0'
    compile 'com.google.firebase:firebase-auth:9.8.0'
    compile 'com.google.firebase:firebase-database:9.8.0'
    compile 'com.google.firebase:firebase-config:9.8.0'
    compile 'com.google.firebase:firebase-crash:9.8.0'
    compile 'com.google.firebase:firebase-invites:9.8.0'
    compile 'com.google.firebase:firebase-storage:9.8.0'
    compile 'cn.pedant.sweetalert:library:1.3'
    compile 'at.blogc:expandabletextview:1.0.3'
    compile 'com.joanzapata.iconify:android-iconify-fontawesome:2.1.+'
    compile 'com.android.support:appcompat-v7:26.1.0'

    implementation 'com.github.bumptech.glide:glide:4.6.1'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
    compile 'com.android.support:design:26.1.0'
    compile 'com.android.support:cardview-v7:26.1.0'
    compile 'com.android.support:support-v4:26.1.0'
    compile 'com.android.support:recyclerview-v7:26.1.0'
    compile 'com.nineoldandroids:library:2.4.0'
    compile 'com.daimajia.slider:library:1.1.5@aar'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
    implementation 'com.android.support:design:26.1.0'

}
Midhilaj
источник
1
я решил свою проблему здесь: stackoverflow.com/questions/49162538/…
Гилсон
Эй, у меня та же проблема, что и у вас: «Приложение не установлено» при отправке файла .apk другим. Можете ли вы помочь мне в этом.
Навин

Ответы:

264

попробуйте изменить compileSdkVersion на:

compileSdkVersion 28

fontVariationSettings добавлен в API-уровень 28. Api DOC здесь

Zyc Zyc
источник
2
Мне пришлось перейти на версию 28, когда я добавил последнюю версию библиотеки Kotlin Extensions в проект, и я получил эту ошибку. Спасибо!
Майкер
1
Это исправило следующую проблему для меня: "ресурс android: attr / fontVariationSettings not found."
Адам Гурвиц
1
@Micer извините, я не уверен, что произошло в вашем проекте, может быть, вам нужно очистить и восстановить. или разрешить зависимости в проекте.
Zyc Zyc
2
@zyczyc Я имел в виду, что я использовал 27, и обновление до 28 решило все проблемы. Я пытался очистить и восстановить раньше, но не повезло.
Майкер
1
@anunixercoder У меня была такая же проблема. Sdk 28 - это не вариант, поэтому я искал: app: зависимости для конфликтов и заблокировал версии, совместимые с версиями от zu до api 27, как указано ниже в FilipFloryan (build-extras.gradle).
Хэнк Лапидес
55

Это вызвано несовместимостью с библиотекой поддержки Android, которая была изменена до версии 28. Я решил проблему, заставив сборку использовать более низкую библиотеку поддержки. // как построить gradle

configurations.all {
        resolutionStrategy {
                force 'com.android.support:support-v4:27.1.0'
    }
} 

Мой проект успешно построен сразу после того, как я изменил это. Надеюсь, это тоже поможет вам. Я потерял день развития из-за этого!

Akhil
источник
7
где поставить эти строки?
Какаши
1
@Kakashi поместил эти строки в build.gradle (Модуль: приложение)
ахил
1
@akhid Вы имеете в виду платформы / androids / app / build.gradle? Если да, просто вставьте эту строку в любом месте этого файла? Я искал какое-то время, чтобы узнать, где поставить эти строки :(
Томас Ким
19

Для тех, кто должен сохранить compileSdkVersion 27и пока не может выполнить обновление до androidx , вы не должны обновлять (или более) версии зависимостей по следующим ссылкам. Эти ссылки, где были введены последние изменения. Вы должны найти более раннюю версию, которая не использует androidx.

https://firebase.google.com/support/release-notes/android#update_-_june_17_2019

https://developers.google.com/android/guides/releases#june_17_2019

Например, следующее совместимо с compileSdkVersion 27:

dependencies {
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:support-v4:27.1.1'
    implementation 'com.google.android.gms:play-services-maps:16.1.0'
    implementation 'com.google.android.gms:play-services-location:16.0.0'
    implementation 'com.google.firebase:firebase-core:16.0.9'
    implementation 'com.google.firebase:firebase-messaging:18.0.0'
}

Следующие разделы compileSdkVersion 27не совместимы и совместимы только с compileSdkVersion 28:

dependencies {
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:support-v4:28.0.0'
    implementation 'com.google.android.gms:play-services-maps:17.0.0'
    implementation 'com.google.android.gms:play-services-location:17.0.0'
    implementation 'com.google.firebase:firebase-core:17.0.0'
    implementation 'com.google.firebase:firebase-messaging:19.0.0'
}
Обычный пользователь
источник
2
Спасибо за то, что дали решение тем, кому нужно временно сохранить версию 27 (принятый ответ слишком упрощен)
Дон
Спасибо! У меня был compileSdkVersion, установленный на 28, но я не использовал библиотеки androidx, и поменял firebase на более низкую версию.
michalbrz
9

Я решаю эту проблему с помощью строки ниже:

cordova plugin add cordova-android-support-gradle-release --save

После этого компиляция прошла успешно.

Джон Прадо
источник
7

Если вы обновляетесь до v28

измените compileSdkVersion на compileSdkVersion 28

Пабло Чегарра
источник
@victorsosa app / build.gradle
Пабло Чегарра,
Я положил туда, но получаю ошибку; Можете ли вы привести пример, пожалуйста?
победитель Sosa
5

Для нативных приложений для Android (не для Cordova) решение для меня:

Был:

implementation 'com.android.support:support-v13:+'

Сейчас:

implementation 'com.android.support:support-v13:27.1.1'
Евгений Вороной
источник
5

Другим исправлением для разработчиков Ionic 3 является создание build-extras.gradle внутри платформ / android и установка следующих

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:27.1.0'
    }
}

Обратите внимание, что build-extras.gradle отличается от build.gradle.

Филипп Флорян
источник
5

@ Все проблемы связаны с последними серьезными изменениями в сервисе Google Play и Firebase, выпущенном 17 июня 2019 года.

Если вы находитесь на проекте Ionic или Cordova. Пожалуйста, просмотрите все плагины, где есть зависимость от службы Google Play и Firebase с пометкой +

Пример:

В моей интеграции с firebase cordova у меня был com.google.firebase: firebase-core: + com.google.firebase: firebase-messaging: + Так что плюс всегда загружал последнюю версию, которая вызывала ошибку. Изменить + на номер версии в соответствии с выпуском 15 марта 2019 года https://developers.google.com/android/guides/releases

Обязательно замените символы + на актуальную версию в файле build.gradle библиотеки cordova

Бхима
источник
3

Обычно это из-за версий и / или зависимостей SDK.

Для разработчиков Cordova поместите настройки зависимостей в project.propertiesфайл " " в CORDOVA_PROJECT_ROOT/platforms/android/папке, например:

target=android-26
android.library.reference.1=CordovaLib
android.library.reference.2=app
cordova.system.library.1=com.android.support:support-v4:26.1.0
cordova.gradle.include.2=cordova-plugin-googlemaps/app-tbxml-android.gradle
cordova.system.library.3=com.android.support:support-core-utils:26.1.0
cordova.system.library.4=com.google.android.gms:play-services-maps:15.0.0
cordova.system.library.5=com.google.android.gms:play-services-location:15.0.0

Поэтому, если вы используете CLI " cordova build", он перезапишет раздел зависимостей:

dependencies {
    implementation fileTree(dir: 'libs', include: '*.jar')
    // SUB-PROJECT DEPENDENCIES START 
   /* section being overwritten by cordova, referencing project.properties */
...
    // SUB-PROJECT DEPENDENCIES END
}

Если вы используете правильные библиотеки и их версии в project.properties, все будет в порядке.

Joanne
источник
убрать лишние пробелы послеandroid.library.reference.2=app
Николай Василаки
Ты ангел! Я ломал голову над этим. Он решил установить цель для Android 26, но загружался в зависимости от 28. Спасибо !!!!!!!!!
eliotRosewater
2

У меня была такая же ошибка, но я не знаю, почему она появилась. После поиска решения я перенес проект в AndroidX (Refactor -> Migrate to AndroidX ...), а затем вручную изменил импорт целых классов и т. Д., А также в файлах макетов (RecyclerViews, ConstraintLayouts, панели инструментов и т. Д.). Я также изменил compileSdkVersion и targetSdkVersion на 28 версию, и весь проект / приложение работает нормально.

Slepster
источник
2

Если у кого-то есть эта ошибка с использованием phonegap или cordova с плагином cordova-plugin-fcm-ng или cordova-plugin-fcm, то решение, которое сработало для меня, - создать дополнительный файл конфигурации для gradle "build-extras.gradle" в \ Платформы \ android \ app и помещая в нее следующие строки

configurations.all {
 resolutionStrategy {
  force 'com.google.firebase:firebase-messaging:18.0.0'
  force 'com.google.firebase:firebase-core:16.0.8'
 }
}

Я нашел это решение, прочитав эту страницу https://github.com/facebook/react-native/issues/25371 , в частности комментарий shreyakupadhyay от 30.07.19 и проконсультировавшись по https://developers.google.com/android/ руководства / релизы # may_07_2019 о последней версии библиотеки.

Алессандро Баттистини
источник
2

Я столкнулся с этой ошибкой в ​​проекте флаттера, и все, что мне нужно было сделать, обновить мой compileSdkVersion до 28.

ШАГИ:

  1. В вашем файле build.gradle уровня приложения найдите compileSdkVersion
  2. Проверьте текущую версию
  3. Если меньше 28, обновите его до 28

Как ZYC ZYC указано выше, fontVariationSettings собственность была добавлена в уровне 28 API.

Вы также можете прочитать больше об этом здесь

Отунба Тосин Иосиф
источник
1

Для Ionic 3 разработчика. Мне пришлось обновить файл platform / android / project.properties ТОЛЬКО на:

cordova.system.library.2

быть v4: 28.0.0+, иначе сборка продолжала давать сбой.

После этого содержимое моего файла project.properties будет показано ниже:

target=android-26
android.library.reference.1=CordovaLib
cordova.system.library.1=com.android.support:support-v4:24.1.1+
cordova.system.library.2=com.android.support:support-v4:28.0.0+
cordova.system.library.3=com.android.support:support-v4:+
cordova.system.library.4=com.android.support:support-v4:25.+
cordova.system.library.5=com.android.support:appcompat-v7:25.+
cordova.gradle.include.1=cordova-plugin-googlemaps/starter-tbxml-android.gradle
cordova.system.library.6=com.google.android.gms:play-services-maps:15.0.1
cordova.system.library.7=com.google.android.gms:play-services-location:15.0.1
cordova.system.library.8=com.android.support:support-core-utils:26.1.0
cordova.system.library.9=com.squareup.okhttp3:okhttp-urlconnection:3.10.0
cordova.gradle.include.2=cordova-android-support-gradle-release/pasma-cordova-android-support-gradle-release.gradle

Я надеюсь, что это поможет кому-то. Для меня это была настоящая проблема.

Тони Росс
источник
ИМХО, почему не все поддерживают lib, только второй? Thomas
Томас Ким
1

Это была боль в заднице для меня! Особенно после обновления до Android Studio 3.2.1 и Gradle 4.6 (для разработчиков Gradle).

Я думаю, что существует более одного фактора, который может вызвать такое исключение при сборке. Для меня у меня были следующие строки кода в моем файле gradle.properties (с использованием SDK версии 27):

android.useAndroidX=true
android.enableJetifier=true

AndroidX является альтернативой стандартной библиотеке поддержки Android и должен использоваться при компиляции и нацеливании на SDK версии 28 (API 28). Перед обновлением Android Studio и Gradle я добавил подготовленные строки выше, чтобы в итоге полностью перейти на AndroidX для использования SDK версии 28, и сборка прошла успешно. Только после обновления я получил ошибку, аналогичную описанной выше:

error: resource android:attr/fontVariationSettings not found

Надеюсь это поможет.

marvatron
источник
1

Для меня: моя внешняя библиотека использовала эти атрибуты attr / fontVariationSettings и attr / ttcIndex, поэтому я понизил версию своей библиотеки и синхронизировал проект. все прекрасно

А сейчас :

 compileSdkVersion 27 
 implementation 'com.android.support:appcompat-v7:27.1.1'

и для будущих читателей эта библиотека была легким разрешением Google.

implementation 'pub.devrel:easypermissions:2.0.0'

Эта библиотека использует SDKversion 28, я должен понизить до 1.3.0

Теджас Пандья
источник
1
Привет, как проверить, использует ли эта библиотека sdkversion 28? Thomas
Томас Ким
1
@ThomasKim. после реализации этой библиотеки я получил эту ошибку. Я ищу и проверяю, что attributes attr/fontVariationSettings and attr/ttcIndexпринадлежит 28только. Так что я понизил эту библиотеку и ее работу. Итак, я
Tejas
1
Я вижу, у меня есть вопрос, почему вы не решили обновить до 28? его обновление тоже поможет (?) 😁 (кстати, я сталкиваюсь с этой проблемой почти 3 дня и не знаю, какой плагин был неправильным 😭)
Томас Ким,
2
@ThomasKim, потому что на момент написания этого ответа. в 28 есть ошибки, которые вызывают проблемы при отображении представления проекта. так что 27 лучше для меня
Tejas
1

Если вы столкнулись с этой проблемой из-за того, что эта ошибка недавно возникла из ниоткуда в реагирующей нативной версии, то это из-за последней версии BREAKING CHANGE в сервисах Google Play и Firebase. Сначала проверьте эту ветку -

https://github.com/facebook/react-native/issues/25293

И решение будет в основном так -

https://github.com/facebook/react-native/issues/25293#issuecomment-503045776

Анирудха Пол
источник
1

Я устранил проблему, изменив целевую версию Android на 28 в project.properties (target = android-28) и установил cordova-plugin-androidx и cordova-plugin-androidx-adapter.

Манодж Алвис
источник
1

ошибка: ресурс android: attr / fontVariationSettings не найден

Я получил эту ошибку, когда добавил библиотеку ButterKnife, но обновление compileSdkVersion до 28 и targetSdk до 28 решило мою проблему.

Равиш Г.С.
источник
1

после обновления до Android 3.4.2 и FTC SDK5.2. Я получил эти ошибки при сборке APK:

Не удалось установить ссылку на ресурс Android C: \ Users \ idsid \ FTC \ SkyStone \ TeamCode \ build \ промежуточные \ incremental \ mergeDebugResources \ merged.dir \ values ​​\ values.xml: 1205: ошибка: ресурс android: attr / fontVariationSettings не найден. C: \ Users \ idsid \ FTC \ SkyStone \ TeamCode \ build \ middleates \ incremental \ mergeDebugResources \ merged.dir \ values ​​\ values.xml: 1206: ошибка: ресурс android: attr / ttcIndex не найден. ошибка: не удалось связать ссылки.

Что я сделал, так это добавил следующий раздел в сборку проекта, и проблема исправлена.

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 28
                buildToolsVersion '29.0.2'
            }
        }
    }
}

Удачи.

Стивен Ван
источник
1

У меня внезапно возникла эта проблема после попытки вытащить зависимость, зависящую от SDK 28 (аварийная остановка firebase), но затем решил отменить изменения.

Я попробовал автоматический рефакторинг Migrate to Androidx(который выполняет половину работы), добавил android.useAndroidX=trueв gradle.propertiesнекоторые моменты, и заставил проект работать снова.

Но перед доставкой было много изменений. Не было возможности снова скомпилировать проект с SDK 27. Я git clean -fdудалил $HOME/.gradleи продолжал видеть androidx в./gradlew :app:dependencies

Я ~/.AndroidStudio3.5/тоже удалил (я на 3.5.3). Это заставляет проект скомпилироваться снова, и я обнаружил темный режим ...

Фред
источник
0

Я удалил все неиспользуемые плагины в pubspec.yaml и во внешних библиотеках, чтобы решить эту проблему.

шляпе
источник
0

Я только что получил эту ошибку AndroidX снова после того, как я исправил ее год назад. Я использую Флаттер.

Я был в состоянии выпускать релизы, используя Flutter 1.7.8 + hotfix.4, затем недавно я обновил Flutter до версии 1.17.4, а затем я больше не мог компилировать сборку релиза. Отладочные сборки работали просто отлично.

TLDR : на этот раз это был пакет, использующий другой пакет, который не был обновлен должным образом для AndroidX.
Обязательно обновите свои пакеты! :)

Сообщение об ошибке: важная часть

[+1099 ms] > Task :package_info:verifyReleaseResources FAILED 
[  +10 ms] FAILURE: Build failed with an exception. 
[  +10 ms] * What went wrong: 
[  +29 ms] Execution failed for task ':package_info:verifyReleaseResources'. 
[   +3 ms] java.util.concurrent.ExecutionException:com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed 
[   +7 ms]  ...\build\package_info\intermediates\res\merged\release\values\values.xml:171:error: resource android:attr/fontVariationSettings not found. 
[   +2 ms] ...\build\package_info\intermediates\res\merged\release\values\values.xml:172:error: resource android:attr/ttcIndex not found.     
[   +1 ms] error: failed linking references.

Сообщение об ошибке: отвлечение

       FAILURE: Build failed with an exception.

       * What went wrong:
       A problem occurred configuring root project 'barcode_scan'.
       > SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

msgstr "fontVariationSettings not found". Это ошибка AndroidX, которая требует, чтобы вы использовали compileSdkVersion 28, но у меня уже было это, поэтому я подозреваю, что что-то было реализовано между двумя моими версиями Flutter, чтобы быть более ограничительным.

Таким образом, я должен был пойти на охоту и обновил пакеты и нашел это. "package_info: ^ 0.3.2" должно быть "package_info: ^ 0.4.0", чтобы это работало. Чтобы сделать это «более» будущим, напишите это так:

package_info: '>=0.4.0 <2.0.0'

После обновления пакетов моя кодовая база снова компилируется. Надеюсь, поможет.

Бо Дженсен
источник