android - 在 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)设法解决了这个问题。对讲机插件很可能指向幕后的东西。
- 离子科尔多瓦平台rm android
- 离子科尔多瓦平台添加android
- 离子cordova插件添加cordova-plugin.intercom@6.0.0
解决方案
您不能修改 AAR,因为它只是从 maven 下载的缓存。
问题是 App Compat Library 版本 28+ 需要编译 SDK 级别 28(这就是为什么您应该始终让库版本与 SDK 级别匹配)。将您的编译和目标 SDK 升级到 28 并且应该可以正常编译。
推荐阅读
- async-await - NestJS 如何使用异步中间件?
- javascript - 有没有办法以编程方式从 G.Drive 下载压缩文件?
- excel - 从电子邮件中检索特定文本
- h2o - h2o gridsearch“TypeError:不支持的操作数”错误
- ruby-on-rails - 全球化和行动文本
- python - 在模型上的 save() 覆盖期间查询中没有匹配的对象 - 抛出 DoesNotExist 错误
- azure - 如何使用 azure AzAnalysisServicesServer powershell 获取分析服务的定价层
- graphql - 连接 AWS Appsync Graphql Link 作为 Gatsbyjs 数据源
- flutter - 是什么导致错误“返回类型'TableRow'不是'Widget',由方法'build'定义”
- sql - Teradata SQL:Teradata 的原生日期格式是什么?(什么会有最好的查询性能?)