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


153

警告:android.dexOptions.incremental不推荐使用property,它对构建过程没有影响。/home/midhilaj/.gradle/caches/transforms-1/files-1.1/appcompat-v7-26.1.0.aar/be3106efb0df111fe5a3f7b356dd070b/res/values/values.xml错误:(246,5)错误:resource 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个错误信息:2秒内建立失败信息: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'

}

1
我在这里解决了我的问题:stackoverflow.com/questions/49162538/…–
Gilson

嘿,我在发送.apk文件给他人时遇到了与您相同的问题,“未安装应用程序”。
Naveen

Answers:


264

尝试将compileSdkVersion更改为:

compileSdkVersion 28

在API级别28.添加fontVariationSettings API文档在这里


2
当我向项目添加最新的Kotlin扩展库时,我不得不更改为版本28,并且出现此错误。谢谢!
米瑟

1
这为我解决了以下问题:“找不到资源android:attr / fontVariationSettings”。
亚当·赫维兹

1
@Micer对不起,我不确定您的项目中发生了什么,可能您需要清理并重建。或解决项目中的依赖关系。
zyc zyc

2
@zyczyc我的意思是我使用27并升级到28解决了所有问题。我之前尝试过清理并重建,但是没有运气。
米瑟

1
@anunixercoder我有同样的问题。sdk 28是没有选择的,所以我搜索了:app:depencies以查找冲突,并将zu版本锁定为api 27兼容的依赖项,例如下面提到的FilipFloryan(build-extras.gradle)。
汉克·拉皮德兹

55

这是由于与版本28的android支持库不兼容而引起的。我通过强制构建使用较低的支持库解决了该问题。//像构建gradle

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

更改此项目后,我的项目立即成功构建。希望这对您也有帮助。因此,我失去了发展的一天!


7
这些线放在哪里?
卡卡西

1
@Kakashi将这些行放在build.gradle(Module:app)中
akhil

1
@akhid您是说platform / androids / app / build.gradle吗?如果是,只需将此行粘贴到该文件的任何位置?我一直在寻找一段时间,以知道将这些行放在哪里:(
Thomas Kim

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

之后,编译成功。



5

对于本机Android应用程序(不是Cordova),我的解决方案是:

是:

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

现在:

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

5

针对Ionic 3开发人员的另一个修复方法是 在platform / android内部创建build-extras.gradle并放置以下内容

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

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


5

@所有问题都是由于Google Play服务和Firebase 2019年6月17日发布中的最新重大重大更改。

如果您在Ionic或Cordova项目中。请通过所有带有+标记的依赖Google Play服务和Firebase服务的插件进行检查

例:

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

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


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


之后删除多余的空间android.library.reference.2=app
Nicholas Vasilaki

你是天使!我在为此动脑筋。它选择将目标设置为android 26,但正在从28中加载依赖项。谢谢!!!!!!!!!
eliotRosewater

2

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


2

如果有人将phonegap或cordova与cordova-plugin-fcm-ng或cordova-plugin-fcm插件一起使用时出现此错误,那么对我有用的解决方案是在\中为gradle“ build-extras.gradle”创建额外的配置文件。 platform \ 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在19/7/30的评论并咨询https://developers.google.com/android/ guides / releases#may_07_2019关于最新的库版本。


2

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

脚步:

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

作为ZYC ZYC上面的所述,属性fontVariationSettings被添加到API级别28中。

您也可以在这里阅读更多信息


1

对于Ionic 3开发人员。我不得不更新平台/安卓/ 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,只有第二个呢?😊
托马斯·金

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)时应使用AndroidX。在更新Android Studio和Gradle之前,我添加了以上几行内容,以准备最终完全迁移到AndroidX以使用SDK版本28,并且该构建成功运行。只是在更新后,我收到了与上面类似的错误:

error: resource android:attr/fontVariationSettings not found

希望这可以帮助。


1

对我来说:我的外部库正在使用此属性attr / fontVariationSettingsattr / 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?😊
托马斯·金

1
@ThomasKim。实现这个库后,我得到了这个错误。我搜索并验证了 attributes attr/fontVariationSettings and attr/ttcIndex属于28。所以我降级了这个库及其工作。所以我弄清楚那是原因
Tejas Pandya

1
我知道,我有一个问题,您为什么不选择升级到28?升级它会解决得太正确(?)😁(顺便说一句,我将面对这个问题将近3天,并且不知道哪个插件错了wrong)
Thomas Kim

2
@ThomasKim,因为在撰写该答案时。28中存在一些错误,这些错误会导致设计视图渲染出现问题。所以27对我来说更好
Tejas Pandya



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 \ 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'
            }
        }
    }
}

祝好运。


1

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

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

但是交付之前有很多更改。无法使用SDK 27重新编译该项目。I git clean -fd,删除$HOME/.gradle并不断看到androidx./gradlew :app:dependencies

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


0

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


0

我一年前修复此错误后,才再次遇到此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.

“找不到fontVariationSettings”。是一个AndroidX错误,要求您使用compileSdkVersion 28,但是我已经有了,所以我怀疑在我的两个Flutter版本之间实施了某些限制。

所以我不得不去寻找和更新软件包,然后发现了。要使其正常运行,必须将“ package_info:^ 0.3.2”设置为“ package_info:^ 0.4.0”。要使其“更多”具有未来的证明,请这样编写:

package_info: '>=0.4.0 <2.0.0'

更新软件包后,我的代码库将再次编译以发布。希望能帮助到你。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.