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

Posted

技术标签:

【中文标题】错误:找不到资源 android:attr/fontVariationSettings【英文标题】:error: resource android:attr/fontVariationSettings not found 【发布时间】: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'


【问题讨论】:

我在这里解决了我的问题:***.com/questions/49162538/… 嘿,我遇到了和你一样的问题,“应用程序未安装”,同时将 .apk 文件发送给其他人。你能帮我解决这个问题吗? 【参考方案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。

步骤:

    在您的应用级 build.gradle 文件中,搜索 compileSdkVersion 检查当前版本 如果小于 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

【讨论】:

以上是关于错误:找不到资源 android:attr/fontVariationSettings的主要内容,如果未能解决你的问题,请参考以下文章

找不到资源,路径错误?

错误:找不到请求的资源

RESTful WCF 服务返回“找不到资源”。错误

Kivy:[错误] [AudioGstplayer] 找不到资源

调试错误:找不到字符串资源 7176

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