首页 > 解决方案 > 在 cordova 构建期间未找到 dialogCornerRadius、fontVariationSettings 和 ttcIndex

问题描述

我在这个问题上做了很多尝试,解决方案是将android支持的版本强制为27。安装插件

cordova-android-support-gradle-release -variable ANDROID_SUPPORT_VERSION = 27.+

这些错误仅在另一个插件的Java类固有的另一个出现问题时才消失,没有找到

类 com.google.android.gms.internal.zzbfm 未找到

在构建阶段产生的错误:

:app:splitsDiscoveryTaskDebug 

/home/trip/.gradle/caches/transforms-1/files-1.1/appcompat-v7-28.0.0.aar/8982e9a5aeacb8b77f78fc202fe2ff0a/res/values-v28/values-v28.xml:9:5-12:13: AAPT: error: resource android:attr/dialogCornerRadius not found. /home/trip/workspace/wanda-Angular5/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-v28/values-v28.xml:11: AAPT: error: resource android:attr/dialogCornerRadius not found.
     /home/trip/.gradle/caches/transforms-1/files-1.1/appcompat-v7-28.0.0.aar/8982e9a5aeacb8b77f78fc202fe2ff0a/res/values/values.xml:1304:5-69: AAPT: error: resource android:attr/fontVariationSettings not found.
     /home/trip/.gradle/caches/transforms-1/files-1.1/appcompat-v7-28.0.0.aar/8982e9a5aeacb8b77f78fc202fe2ff0a/res/values/values.xml:1304:5-69: AAPT: error: resource android:attr/ttcIndex not found.
     /home/trip/.gradle/caches/transforms-1/files-1.1/appcompat-v7-28.0.0.aar/8982e9a5aeacb8b77f78fc202fe2ff0a/res/values/values.xml:1304:5-69: AAPT: error: resource android:attr/dialogCornerRadius not found.
     /home/trip/.gradle/caches/transforms-1/files-1.1/appcompat-v7-28.0.0.aar/8982e9a5aeacb8b77f78fc202fe2ff0a/res/values/values.xml:1304:5-69: AAPT: error: resource android:attr/fontVariationSettings not found.
     /home/trip/.gradle/caches/transforms-1/files-1.1/appcompat-v7-28.0.0.aar/8982e9a5aeacb8b77f78fc202fe2ff0a/res/values/values.xml:1304:5-69: AAPT: error: resource android:attr/ttcIndex not found.
     /home/trip/workspace/wanda-Angular5/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-v28/values-v28.xml:7: error: resource android:attr/dialogCornerRadius not found. /home/trip/workspace/wanda-Angular5/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values-v28/values-v28.xml:11: error: resource android:attr/dialogCornerRadius not found. /home/trip/workspace/wanda-Angular5/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:676: error: resource android:attr/fontVariationSettings not found. /home/trip/workspace/wanda-Angular5/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:676: error: resource android:attr/ttcIndex not found. /home/trip/workspace/wanda-Angular5/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:902: error: resource android:attr/dialogCornerRadius not found. /home/trip/workspace/wanda-Angular5/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:903: error: resource android:attr/fontVariationSettings not found. /home/trip/workspace/wanda-Angular5/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:909: error: resource android:attr/ttcIndex not found. error: failed linking references.

Failed to execute aapt com.android.ide.common.process.ProcessException: Failed to execute aapt  at

com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:796)   at com.android.build.gradle.tasks.ProcessAndroidResources.invokeAaptForSplit(ProcessAndroidResources.java:551)  at com.android.build.gradle.tasks.ProcessAndroidResources.doFullTaskAction(ProcessAndroidResources.java:285)    at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:109)     at sun.reflect.GeneratedMethodAccessor548.invoke(Unknown Source)    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)    at java.lang.reflect.Method.invoke(Method.java:498)     at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:173)    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)     at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:121)     at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:122)    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)  at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)  at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)   at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111)    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)   at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:63)   at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)     at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)   at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)   at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)   at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)     at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)   at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)     at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)   at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)   at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)  at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)  at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)   at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)   at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)     at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)     at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:124)  at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:80)    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:105)    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:99)     at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)   at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580)   at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99)   at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)   at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)  at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)    at java.lang.Thread.run(Thread.java:748) Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details   at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)   at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:482)    at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)   at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:794)    ... 47 more Caused by: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details     at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)   at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:462)    at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)   at com.android.builder.internal.aapt.v2.QueueableAapt2.lambda$makeValidatedPackage$1(QueueableAapt2.java:179)   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)  ... 1 more Caused by: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details   at com.android.builder.png.AaptProcess$NotifierProcessOutput.handleOutput(AaptProcess.java:463)     at com.android.builder.png.AaptProcess$NotifierProcessOutput.err(AaptProcess.java:415)  at com.android.builder.png.AaptProcess$ProcessOutputFacade.err(AaptProcess.java:332)    at com.android.utils.GrabProcessOutput$1.run(GrabProcessOutput.java:104)

爱奥尼信息

离子:

   ionic (Ionic CLI)  : 4.2.1 (/home/trip/.nvm/versions/node/v9.2.0/lib/node_modules/ionic)    Ionic Framework    : ionic-angular 3.9.2    @ionic/app-scripts : 3.1.8

Cordova:

   cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)    Cordova Platforms     : android 7.1.0, ios 4.5.4    Cordova Plugins       : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview
1.2.1, (and 26 other plugins)

System:

   Android SDK Tools : 26.1.1 (/home/trip/Android/Sdk)    NodeJS       : v9.2.0 (/home/trip/.nvm/versions/node/v9.2.0/bin/node)    npm        : 5.5.1    OS                : Linux 4.15

 我尝试在/home/trip/.gradle/caches/transforms-1/files-1.1/appcompat-v7-28.0.0.aar/8982e9a5aeacb8b77f78fc202fe2ff0a/res/values-v28/values-v28.xml搜索它们的文件中添加这三个属性,但错误仍然存​​在。有人知道我如何正确地包含它们,还是他有任何其他解决方案?

2018 年 5 月 12 日更新

我通过指向更新的对讲版本(6.0.0)设法解决了这个问题。对讲机插件很可能指向幕后的东西。

标签: androidcordovaionic3

解决方案


您不能修改 AAR,因为它只是从 maven 下载的缓存。

问题是 App Compat Library 版本 28+ 需要编译 SDK 级别 28(这就是为什么您应该始终让库版本与 SDK 级别匹配)。将您的编译和目标 SDK 升级到 28 并且应该可以正常编译。


推荐阅读