【问题标题】:error: resource android:attr/fontVariationSettings not found错误:找不到资源 android:attr/fontVariationSettings
【发布时间】:2018-08-18 21:52:25
【问题描述】:

警告: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.ExecutionException: com.android.tools.aapt2.Aapt2Exception:AAPT2 错误:检查日志 详细信息错误:com.android.tools.aapt2.Aapt2Exception:AAPT2错误: 检查日志以获取详细信息错误:任务执行失败 ':milla:processDebugAndroidTestResources'。

未能执行 aapt 信息:9 个错误信息:BUILD FAILED in 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'

}

【问题讨论】:

  • 我在这里解决了我的问题:stackoverflow.com/questions/49162538/…
  • 嘿,我遇到了和你一样的问题,“应用程序未安装”,同时将 .apk 文件发送给其他人。你能帮我解决这个问题吗?

标签: android android-gradle-plugin


【解决方案1】:

尝试将 compileSdkVersion 更改为:

compileSdkVersion 28

在 api 级别 28 中添加了 fontVariationSettings。Api doc here

【讨论】:

  • 当我将最新的 Kotlin 扩展库添加到项目中时,我不得不更改到版本 28,但我收到了这个错误。谢谢!
  • 这为我解决了以下问题:“找不到资源 android:attr/fontVariationSettings。”
  • @Micer 抱歉,我不确定您的项目中发生了什么,可能是您需要清理和重建。或者解决项目中的依赖关系。
  • @zyczyc 我的意思是我使用 27 并升级到 28 解决了所有问题。我之前尝试过清理和重建,但没有成功。
  • @anunixercoder 我遇到了同样的问题。 Sdk 28 不是选项,所以我搜索了 :app:depencies 冲突并将版本 zu 锁定到 api 27 兼容依赖项,如下面提到的 FilipFloryan (build-extras.gradle)。
【解决方案2】:

这是由于与更改为版本 28 的 android 支持库不兼容造成的。我通过强制构建使用较低的支持库解决了这个问题。 //就像构建gradle一样

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

在我更改此设置后,我的项目立即成功构建。希望这也能帮助你。我因此失去了一天的发展!

【讨论】:

  • 这些行放在哪里?
  • @Kakashi 将这些行放入 build.gradle(Module:app)
  • @akhid 你的意思是平台/androids/app/build.gradle 吗?如果是,只需将此行粘贴到该文件的任何位置?我一直在寻找一段时间以知道将这些行放在哪里:(
  • 我已将您建议的代码放在 app/build.gradle 文件的末尾,然后为实时 apk 重新编译应用程序,解决方案不起作用。谢谢。
【解决方案3】:

对于那些必须保留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'
}

【讨论】:

  • 感谢您为需要暂时保留版本 27 的人提供解决方案(接受的答案过于简单)
  • 谢谢!我将 compileSdkVersion 设置为 28,但我没有使用 androidx 库,并且将 firebase 更改为较低版本有帮助。
  • 我已将 compileSdkVersion 更新为 28,然后使用 flutter clean、flutter clean pub cache clear、flutter build apk 命令生成发布构建 apk 但此解决方案对我不起作用并显示相同的错误。请建议。谢谢。
【解决方案4】:

我用下面的代码解决了这个问题:

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

之后编译成功。

【讨论】:

    【解决方案5】:

    如果您要更新到 v28

    将 compileSdkVersion 更改为 compileSdkVersion 28

    【讨论】:

    • @victorsosa app/build.gradle
    • 我放在那里但出现错误;可以举个例子吗?
    • 我已将 compileSdkVersion 更新为 28,然后使用 flutter clean、flutter clean pub cache clear、flutter build apk 命令生成发布构建 apk 但此解决方案对我不起作用并显示相同的错误。请建议。谢谢。
    【解决方案6】:

    对于原生 Android 应用(不是 Cordova),我的解决方案是:

    曾经:

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

    现在:

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

    【讨论】:

      【解决方案7】:

      @所有问题都是由于 2019 年 6 月 17 日发布的 google play 服务和 firebase 的最新重大突破性变化。

      如果您从事 Ionic 或 Cordova 项目。请使用 + 标记浏览所有依赖 google play 服务和 firebase 服务的插件

      例子:

      在我的 firebase cordova 集成中,我有 com.google.firebase:firebase-core:+ com.google.firebase:firebase-messaging:+ 所以加号总是下载导致错误的最新版本。根据 2019 年 3 月 15 日发布的版本号更改 + 号 https://developers.google.com/android/guides/releases

      确保在cordova库的build.gradle文件中用实际版本替换+符号

      【讨论】:

        【解决方案8】:

        Ionic 3 开发人员的另一个修复方法是创建 build-extras.gradle 在platforms/android里面放下面

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

        请注意,build-extras.gradle 与 build.gradle 不同

        【讨论】:

          【解决方案9】:

          我在一个颤振项目中遇到了这个错误,我需要做的就是将我的 compileSdkVersion 更新到 28。

          步骤:

          1. 在您的应用级 build.gradle 文件中,搜索 compileSdkVersion
          2. 检查当前版本
          3. 如果小于 28,则更新为 28

          正如上面提到的zyc zyc,属性 fontVariationSettings 是在 API 级别 28 中添加的。

          您还可以阅读更多相关信息here

          【讨论】:

            【解决方案10】:

            通常是因为 sdk 版本和/或依赖关系。

            对于 Cordova 开发人员,将您的依赖项设置放在 CORDOVA_PROJECT_ROOT/platforms/android/ 文件夹下的“project.properties”文件中,如下所示:

            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 中使用正确的库及其版本,则应该没问题。

            【讨论】:

            • 删除android.library.reference.2=app后多余的空格
            • 你是天使!我正在为此绞尽脑汁。它选择将目标设置为 android 26,但正在从 28 加载依赖项。谢谢!!!!!!!!!
            【解决方案11】:

            升级到 Android 3.4.2 和 FTC SDK5.2 后。我在构建 APK 时遇到了这些错误:

            Android 资源链接失败 C:\Users\idsid\FTC\SkyStone\TeamCode\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:1205:错误:资源 android:attr/fontVariationSettings 未找到。 C:\Users\idsid\FTC\SkyStone\TeamCode\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:1206:错误:找不到资源 android:attr/ttcIndex。 错误:链接引用失败。

            我所做的是将以下部分添加到项目构建 gradle 并修复问题。

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

            祝你好运。

            【讨论】:

              【解决方案12】:

              这让我很头疼!尤其是在更新到 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
              

              希望这会有所帮助。

              【讨论】:

                【解决方案13】:

                如果您由于最近在 react native 中突然出现此错误而偶然发现此问题 - 这是由于 Google Play 服务和 Firebase 中的最新重大更改。首先检查这个线程 -

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

                而解决方案大多是这样的 -

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

                【讨论】:

                  【解决方案14】:

                  我有同样的错误,但不知道为什么会出现。搜索解决方案后,我将项目迁移到 AndroidX(重构 -> 迁移到 AndroidX...),然后手动更改整个类导入等以及布局文件(RecyclerViews、ConstraintLayouts、工具栏等)。 我还将 compileSdkVersion 和 targetSdkVersion 更改为 28 版本,整个项目/应用程序工作正常。

                  【讨论】:

                    【解决方案15】:

                    如果有人在使用带有cordova-plugin-fcm-ng 或cordova-plugin-fcm 插件的phonegap 或cordova 时遇到此错误,对我有用的解决方案是为gradle“build-extras.gradle”创建额外的配置文件在 \platforms\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 于 2019 年 7 月 30 日发表的评论,并咨询了 https://developers.google.com/android/guides/releases#may_07_2019 关于最后一个库版本的信息。

                    【讨论】:

                      【解决方案16】:

                      错误:找不到资源 android:attr/fontVariationSettings

                      当我添加 ButterKnife 库时出现此错误,但将 compileSdkVersion 升级到 28 并将 targetSdk 升级到 28 解决了我的问题。

                      【讨论】:

                        【解决方案17】:

                        适用于 Ionic 3 开发人员。我必须更新platforms/android/project.properties 文件ONLY

                        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,只有第二个? ?
                        【解决方案18】:

                        对我来说:我的外部库正在使用这个属性 attr/fontVariationSettingsattr/ttcIndex 所以我降级了我的库版本并同步项目。一切都好

                        所以现在:

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

                        对于未来的读者来说,图书馆是谷歌的简单许可。

                        implementation 'pub.devrel:easypermissions:2.0.0'
                        

                        这个库使用 sdkversion 28,我必须降级到 1.3.0

                        【讨论】:

                        • 您好,您如何检查此库是否使用 sdkversion 28? ?
                        • @ThomasKim 。实现这个库后,我得到了这个错误。我搜索并验证 attributes attr/fontVariationSettings and attr/ttcIndex 仅属于 28 。所以我降级了这个库及其工作。所以我发现这是原因
                        • 我明白了,我有个问题,你为什么不选择升级到28?升级它会解决太正确(?)?(顺便说一句,我面临这个问题将近 3 天,不知道哪个插件错了?)
                        • @ThomasKim 因为在撰写该答案时。 28 中有一些错误会导致设计视图渲染出现问题。所以 27 对我来说更好
                        【解决方案19】:

                        我通过在 project.properties (target=android-28) 中将目标 android 版本更改为 28 并安装了 cordova-plugin-androidx 和 cordova-plugin-androidx-adapter 解决了这个问题。

                        【讨论】:

                          【解决方案20】:

                          在尝试根据 sdk 28 (firebase crashlytics) 提取依赖项后,我突然遇到了这个问题,但后来决定恢复更改。

                          我尝试了自动重构Migrate to Androidx(它完成了一半的工作),在某些时候在gradle.properties 中添加了android.useAndroidX=true,并使项目再次运行。

                          但在交付之前发生了很多变化。无法使用 SDK 27 再次编译项目。我git clean -fd,删除了$HOME/.gradle,并在./gradlew :app:dependencies 中一直看到androidx

                          我最终也删除了~/.AndroidStudio3.5/(我在 3.5.3 上)。这使得项目再次编译,我发现了暗模式......

                          【讨论】:

                            【解决方案21】:

                            一年前我修复了这个 AndroidX 错误后,我又遇到了这个错误。我正在使用 Flutter。

                            我能够使用 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.
                            

                            “未找到字体变化设置”。是一个 AndroidX 错误,它要求你使用 compileSdkVersion 28,但我已经有了,所以我怀疑在我的两个 Flutter 版本之间实现了一些限制。

                            所以我不得不去寻找并更新软件包并找到它。 “package_info: ^0.3.2” 需要是“package_info: ^0.4.0” 才能使其工作。 为了让它“更”未来证明,这样写:

                            package_info: '>=0.4.0 <2.0.0'
                            

                            更新软件包后,我的代码库将再次编译以供发布。 希望对您有所帮助。

                            【讨论】:

                              【解决方案22】:

                              我删除了 pubspec.yaml 和外部库中所有未使用的插件来解决问题。

                              【讨论】:

                                【解决方案23】:

                                我的情况确实不同。我在布局文件中设置了我的 TetxtView 的 android:text=" ??? " 属性,当我将其更改为 android:text=" ? " 时它起作用了。我不知道为什么会这样,也许它可以帮助某人。我花了几个小时才找到问题。

                                【讨论】:

                                  【解决方案24】:

                                  我遇到了同样的问题,我安装了这个 cordova 插件并解决了问题。

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

                                  【讨论】:

                                    猜你喜欢
                                    • 2019-05-01
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 2020-11-28
                                    • 2019-12-02
                                    • 1970-01-01
                                    • 2021-05-04
                                    • 2018-10-29
                                    • 2019-11-02
                                    相关资源
                                    最近更新 更多