Ionic App 无法在 Android AAPT 错误上构建

     2023-04-13     186

关键词:

【中文标题】Ionic App 无法在 Android AAPT 错误上构建【英文标题】:Ionic App can't build on Android AAPT Error 【发布时间】:2018-08-16 04:46:45 【问题描述】:

我正在创建一个 Ionic 应用程序,在浏览器中模拟它可以正常工作,但是一旦我尝试在 android 上构建它,它就会失败。看起来 AATP 有一些错误,但我无法弄清楚,为什么会发生这种情况...... 这是错误日志:

Running app-scripts build: --platform android --target cordova
[00:03:39]  build dev started ... 
[00:03:39]  clean started ... 
[00:03:39]  clean finished in 36 ms 
[00:03:39]  copy started ... 
[00:03:39]  deeplinks started ... 
[00:03:39]  deeplinks finished in 46 ms 
[00:03:39]  transpile started ... 
[00:03:43]  transpile finished in 4.22 s 
[00:03:43]  preprocess started ... 
[00:03:43]  preprocess finished in 1 ms 
[00:03:43]  webpack started ... 
[00:03:43]  copy finished in 4.49 s 
[00:03:50]  webpack finished in 6.46 s 
[00:03:50]  sass started ... 
Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.
[00:03:51]  sass finished in 942 ms 
[00:03:51]  postprocess started ... 
[00:03:51]  postprocess finished in 14 ms 
[00:03:51]  lint started ... 
[00:03:51]  build dev finished in 11.87 s 
> cordova run android
Android Studio project detected
ANDROID_HOME=E:\AndroidSDK
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_161
studio
Subproject Path: CordovaLib
Subproject Path: app
publishNonDefault is deprecated and has no effect anymore. All variants are now published.
Configuration 'compile' in project ':app' is deprecated. Use 'implementation' instead.
The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead.
    at build_c6trj2zw0ratkgf1y8h09dz0v.run(C:\Users\Sebastian\Google Drive\GIT\myepa_mobile\platforms\android\app\build.gradle:144)
[00:03:56]  tslint: C:/Users/Sebastian/Google Drive/GIT/myepa_mobile/src/pages/scanner/scanner.ts, line: 24 
            Property 'alertCtrl' is declared but never used. 

      L23:  private qrScanner: BarcodeScanner,
      L24:  private alertCtrl: AlertController,
      L25:  private storage: StorageProvider,

            Property 'storage' is declared but never used. 

      L24:  private alertCtrl: AlertController,
      L25:  private storage: StorageProvider,
      L26:  private api: ApiProvider,

            All imports are unused. 

       L2:  //import  NavController, NavParams  from 'ionic-angular';
       L3:  i[00:03:56]  tslint: C:/Users/Sebastian/Google Drive/GIT/myepa_mobile/src/pages/scanner/scanner.ts, line: 25 
[00:03:56]  tslint: ...bastian/Google Drive/GIT/myepa_mobile/src/pages/medicationplan/medicationplan.ts, line: 3 
[00:03:56]  tslint: C:/Users/Sebastian/Google Drive/GIT/myepa_mobile/src/pages/settings/settings.ts, line: 13 
[00:03:56]  tslint: C:/Users/Sebastian/Google Drive/GIT/myepa_mobile/src/pages/docs/docs.ts, line: 18 
[00:03:56]  tslint: C:/Users/Sebastian/Google Drive/GIT/myepa_mobile/src/pages/docs/docs.ts, line: 21 
mport BarcodeScanner, BarcodeScannerOptions from "@ionic-native/barcode-scanner";
       L4:  //import StorageProvider from "../../providers/storage/storage";

            Property 'navParams' is declared but never used. 

      L12:  constructor(private navCtrl: NavController,
      L13:              private navParams: NavParams,
      L14:              private storage: StorageProvider,

            Property 'navParams' is declared but never used. 

      L17:  constructor(private navCtrl: NavController,
      L18:              private navParams: NavParams,
      L19:              private api: ApiProvider,

            Property 'zone' is declared but never used. 

      L20:            private events: Events,
      L21:            private zone: NgZone) 
      L22:  events.subscribe("res:update", () =>

[00:03:56]  lint finished in 5.12 s 
:CordovaLib:preBuild UP-TO-DATE
:CordovaLib:preDebugBuild UP-TO-DATE
:CordovaLib:compileDebugAidl UP-TO-DATE
:CordovaLib:compileDebugRenderscript UP-TO-DATE
:CordovaLib:checkDebugManifest UP-TO-DATE
:CordovaLib:generateDebugBuildConfig UP-TO-DATE
:CordovaLib:prepareLintJar UP-TO-DATE
:CordovaLib:generateDebugResValues UP-TO-DATE
:CordovaLib:generateDebugResources UP-TO-DATE
:CordovaLib:packageDebugResources UP-TO-DATE
:CordovaLib:platformAttrExtractor UP-TO-DATE
:CordovaLib:processDebugManifest UP-TO-DATE
:CordovaLib:processDebugResources UP-TO-DATE
:CordovaLib:generateDebugSources UP-TO-DATE
:CordovaLib:javaPreCompileDebug UP-TO-DATE
:CordovaLib:compileDebugJavaWithJavac UP-TO-DATE
:CordovaLib:processDebugJavaRes NO-SOURCE
:CordovaLib:transformClassesAndResourcesWithPrepareIntermediateJarsForDebug UP-TO-DATE
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:compileDebugAidl UP-TO-DATE
:CordovaLib:packageDebugRenderscript NO-SOURCE
:app:compileDebugRenderscript UP-TO-DATE
:app:checkDebugManifest UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:prepareLintJar UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:createDebugCompatibleScreenManifests UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
:app:splitsDiscoveryTaskDebug UP-TO-DATE
:app:processDebugResourcesC:\Users\Sebastian\.gradle\caches\transforms-1\files-1.1\support-compat-28.0.0-alpha1.aar\87f8372badb42114e191aeebff73693e\res\values\values.xml:20:5-70: AAPT: error: resource android:attr/fontVariationSettings not found.

C:\Users\Sebastian\.gradle\caches\transforms-1\files-1.1\support-compat-28.0.0-alpha1.aar\87f8372badb42114e191aeebff73693e\res\values\values.xml:20:5-70: AAPT: error: resource android:attr/ttcIndex not found.

C:\Users\Sebastian\Google Drive\GIT\myepa_mobile\platforms\android\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:141: error: resource android:attr/fontVariationSettings not found.
C:\Users\Sebastian\Google Drive\GIT\myepa_mobile\platforms\android\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:141: 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.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    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) FAILED
25 actionable tasks: 1 executed, 24 up-to-date

    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)
    ... 48 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:454)
    at com.android.builder.png.AaptProcess$NotifierProcessOutput.err(AaptProcess.java:411)
    at com.android.builder.png.AaptProcess$ProcessOutputFacade.err(AaptProcess.java:332)
    at com.android.utils.GrabProcessOutput$1.run(GrabProcessOutput.java:104)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

BUILD FAILED in 3s
(node:14708) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: cmd: Command failed with exit code 1 Error output:
C:\Users\Sebastian\.gradle\caches\transforms-1\files-1.1\support-compat-28.0.0-alpha1.aar\87f8372badb42114e191aeebff73693e\res\values\values.xml:20:5-70: AAPT: error: resource android:attr/fontVariationSettings not found.

C:\Users\Sebastian\.gradle\caches\transforms-1\files-1.1\support-compat-28.0.0-alpha1.aar\87f8372badb42114e191aeebff73693e\res\values\values.xml:20:5-70: AAPT: error: resource android:attr/ttcIndex not found.

C:\Users\Sebastian\Google Drive\GIT\myepa_mobile\platforms\android\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:141: error: resource android:attr/fontVariationSettings not found.
C:\Users\Sebastian\Google Drive\GIT\myepa_mobile\platforms\android\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:141: 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.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    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)
    ... 48 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:454)
    at com.android.builder.png.AaptProcess$NotifierProcessOutput.err(AaptProcess.java:411)
    at com.android.builder.png.AaptProcess$ProcessOutputFacade.err(AaptProcess.java:332)
    at com.android.utils.GrabProcessOutput$1.run(GrabProcessOutput.java:104)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

BUILD FAILED in 3s
(node:14708) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

[OK] Your app has been deployed.
     Did you know you can live-reload changes from your app with --livereload?

我真的不知道发生了什么,因为今天早些时候构建应用程序运行良好......

我的 Ionic 项目环境信息:

cli packages: (C:\Users\Sebastian\AppData\Roaming\npm\node_modules)

    @ionic/cli-utils  : 1.19.1
    ionic (Ionic CLI) : 3.19.1

global packages:

    cordova (Cordova CLI) : 8.0.0

local packages:

    @ionic/app-scripts : 3.1.8
    Cordova Platforms  : android 7.0.0 browser 5.0.3
    Ionic Framework    : ionic-angular 3.9.2

System:

    Android SDK Tools : 26.1.1
    Node              : v8.9.4
    npm               : 5.6.0
    OS                : Windows 10

Environment Variables:

    ANDROID_HOME : E:\AndroidSDK

Misc:

    backend : pro

编辑: 我通过卸载所有插件并一一安装它们来解决问题。 插件 BarcodeScanner 是问题所在 (here)。在platforms/android/phonegap-plugin-barcodescanner 下的starter-barcodescanner.gradle 文件中将compile 'com.android.support:support-v4:+' 的值更改为compile 'com.android.support:support-v4:23+' 解决了这个问题。

【问题讨论】:

我今天也有同样的问题。我还注意到,如果我删除 cordova-plugin-mauron85-background-geolocation 所有构建和部署都很好。 这里同样的问题,也是在过去 24 小时内开始的。 iOS构建很好。在过去 3 天里,除了 Java 系统更新之外,我所知道的构建环境没有任何变化。与 OP 相同的 ionic info,除了:全局:cordova (Cordova CLI):7.0.1 本地包:@ionic/app-scripts:1.3.6 Cordova 平台:.idea android 6.4.0 ios 4.4.0 Ionic Framework:离子角 2.2.0 系统:ios-deploy:1.9.2 ios-sim:6.0.0 节点:v8.4.0 npm:2.15.12 操作系统:macOS Sierra 相同。似乎突然没有对我的开发环境进行任何更新。让我相信有一个隐藏在 Android 构建中的依赖项更新。有趣的是,我还有另一台机器正在正常工作。 这里也一样。今天才开始发生。我系统地删除了我的每个插件,但它没有修复它。一旦我删除了所有这些并删除并添加了平台,那么构建就可以工作了。我尝试删除并添加平台并重新添加所有插件,但它仍然无法正常工作。 【参考方案1】:

如其他回复中所述,由于 Android 支持库的新更新,某些插件可能会遇到不兼容问题。

最简单的解决方法是安装“cordova-android-support-gradle-release”插件。此插件会自动调整崩溃的插件版本,您可以继续使用您的插件

与手动将版本直接更改到插件相比,此修复是持久的

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

您也可以查看documentation 和其他相关问题here

【讨论】:

在使用Cordova v8.1.1(操作系统:Ubuntu 18.04)将phonegap-plugin-barcodescanner v8.1.0 添加到Cordova Android 7.1.4 项目后,我得到了dialogCornerRadius not found。以上解决了我的问题。 非常感谢安德鲁。可能为我节省了许多小时的调试时间!【参考方案2】:

此构建失败是由于 6 月 17 日 Google Play 服务和 Firebase 库的主要版本发布所致。

为我工作

运行:

    ionic cordova platform rm android

    如果你使用 firebase

    cordova plugin remove cordova-plugin-firebase
    
    cordova plugin add cordova-plugin-firebase-lib
    

    运行:

ionic cordova plugin add cordova-plugin-androidx

    运行:

ionic cordova plugin add cordova-plugin-androidx-adapter

    运行:

    ionic cordova platform add android@8.0.0

享受你的 apk

ionic cordova build android --prod --release

【讨论】:

【参考方案3】:

在核心 Cordova 上,这个插件为我修复了它。

https://github.com/dpa99c/cordova-android-support-gradle-release

【讨论】:

【参考方案4】:

我在这里找到了答案:

Build Error -Ionic Cordova fails for android

另外,我的需要与上面类似的修复,只是它在 de.appplant.cordova.plugin.local-notification 插件中。我将'com.android.support:support-v4:+'更改为'com.android.support:support-v4:23+',然后删除并添加了android平台并构建了它。但是,我的 build-extras.gradle 中有一个额外的大括号“”也必须删除。

【讨论】:

【参考方案5】:

我可以验证 gradle-plugin 是否已修复它。 之前尝试过支持版本号,但经过 3 周的调试,插件是唯一为我解决的问题!

【讨论】:

无法使用 IONIC 5 在 Android 中更改状态栏颜色

】无法使用IONIC5在Android中更改状态栏颜色【英文标题】:UnabletochangeStatusbarcolorinAndroidusingIONIC5【发布时间】:2020-10-0218:00:22【问题描述】:我的应用在IONIC5中,我正在使用以下代码更改app.component.tsfile中的状态栏颜色。importStatus... 查看详情

无法从您的 Ionic 应用生成 Android App Bundle(没有 Android Studio)

】无法从您的Ionic应用生成AndroidAppBundle(没有AndroidStudio)【英文标题】:unabletogeneratinganAndroidAppBundlefromyourIonicapp(withoutAndroidStudio)【发布时间】:2020-08-0510:09:35【问题描述】:这主要是buildfailforandroid的重复,但目前还没有答案... 查看详情

无法在 app.component Ionic / Angular 中获取数据

】无法在app.componentIonic/Angular中获取数据【英文标题】:can\'tgetthedatainapp.componentIonic/Angular【发布时间】:2021-04-2317:19:25【问题描述】:我尝试使用带有Angular的Ionic制作一个移动应用程序:该应用程序有一个登录页面,员工将输... 查看详情

Ionic App 未安装在 android 设备中

】IonicApp未安装在android设备中【英文标题】:IonicAppnotinstallinginandroiddevice【发布时间】:2017-08-2504:47:35【问题描述】:我是Ionic的新手。我刚刚在Ionic中制作了一个在浏览器上运行良好的简单应用程序。因此,我使用生成android-rel... 查看详情

无法通过邮件中的链接打开 Ionic App 中的页面

...描述】:我创建了Ionic应用内浏览器应用,并将其安装在Android手机上。现在,当我尝试单击邮件中的链接时,它必须打开应用程序并导航到该特定页面。我在AndroidMainfest.xml中使用了意图过滤器,现在当我单击邮件 查看详情

Ionic socialSharing 插件无法在 iOS 上运行

...ocialsharingplugin不适用于iOS。错误响应返回“不可用”。在Android上,它按预期工作。我做错什么了吗?//sharefunctionsparseaccepts\'app\'paramete 查看详情

ionic 3获取当前位置无法在Android手机上运行

】ionic3获取当前位置无法在Android手机上运行【英文标题】:ionic3getcurrentlocationnotworkingonandroidphone【发布时间】:2019-07-1512:23:06【问题描述】:我的ionic3应用程序尝试使用来自“@ionic-native/geolocation/ngx”的地理定位来获取当前位置... 查看详情

Ionic 选项卡无法在 Android 上正确呈现?

】Ionic选项卡无法在Android上正确呈现?【英文标题】:IonictabnotgetcorrectlyrenderedonAndroid?【发布时间】:2016-11-0412:55:56【问题描述】:在iOS平台上一切正常。为什么此选项卡无法在Android上正确呈现?我想用侧边菜单+标签设计。问... 查看详情

为啥我无法通过 ionic 框架在 Android 上接收推送通知

】为啥我无法通过ionic框架在Android上接收推送通知【英文标题】:WhyamIunabletoreceivepushNotificationonAndroidbyionicframework为什么我无法通过ionic框架在Android上接收推送通知【发布时间】:2015-11-1822:37:19【问题描述】:我编写了这个小测... 查看详情

无法在 Ionic V5 App 上禁用 d3 topojson 底图缩放

】无法在IonicV5App上禁用d3topojson底图缩放【英文标题】:Cannotdisabled3topojsonbasemapzoomingonIonicV5App【发布时间】:2020-07-2011:55:39【问题描述】:我正在尝试使我的应用程序上的d3拓扑图的缩放功能更流畅。默认的缩放行为有点滞后,... 查看详情

无法在构建 Android 中使用 Ionic 加载资源

】无法在构建Android中使用Ionic加载资源【英文标题】:FailedtoloadresourcewithIonicinbuildAndroid【发布时间】:2021-07-2309:26:23【问题描述】:当我使用ionicserve命令时,我没有问题。当我使用命令ioniccordovarunandroid--livereload--consolelogs时,... 查看详情

IONIC 3 无法使用@ionic-native/file-opener 在 Android 中打开 PDF 文件

】IONIC3无法使用@ionic-native/file-opener在Android中打开PDF文件【英文标题】:IONIC3Can\'tnotopenPDFfileinAndroidwith@ionic-native/file-opener【发布时间】:2021-01-1015:00:12【问题描述】:error"status":9,"message":"Activitynotfound:NoActivityfoundto处理意图 查看详情

安装cordova插件后我无法在ionic中构建android apk

】安装cordova插件后我无法在ionic中构建androidapk【英文标题】:ican\'tbuildandroidapkinionicafterinstallcordovaplugin【发布时间】:2016-12-1423:21:15【问题描述】:我正在按照ionic教程来实现推送通知(https://docs.ionic.io/services/push/)但是当我安装... 查看详情

无法在某些设备上运行 Ionic 3 android 应用程序

】无法在某些设备上运行Ionic3android应用程序【英文标题】:CannotrunIonic3androidapponsomedevices【发布时间】:2018-12-2600:24:15【问题描述】:我开发了一个可以在大多数Android设备上正常运行的应用。但不幸的是,我收到了几个最终用... 查看详情

无法在 Android 上构建和运行基于 ionic 和 cordova 的应用程序

】无法在Android上构建和运行基于ionic和cordova的应用程序【英文标题】:NotabletobuildandrunanionicandcordovabasedapponAndroid【发布时间】:2019-02-2506:15:29【问题描述】:我有一个非常基本的Ionic应用程序,我正在尝试在Win10机器上构建和运... 查看详情

Ionic Cordova 应用程序无法在 android 9 设备上运行

】IonicCordova应用程序无法在android9设备上运行【英文标题】:IonicCordovaapplicationnotworkingonandroid9devices【发布时间】:2019-11-2005:56:36【问题描述】:我在android9上运行我的ioniccordova应用程序时遇到问题,它在低于9的android版本上运行... 查看详情

无法使用 Ionic CLI 构建 Android Apk

】无法使用IonicCLI构建AndroidApk【英文标题】:CannotBuildAnroidApkusingIonicCLI【发布时间】:2021-06-2805:29:47【问题描述】:我已经安装了构建工具并且在路径变量中。在哪里:脚本\'D:\\ProgrammingSource\\IonicProjects\\ShoppingCartGeneric\\platforms\\... 查看详情

Ionic App 在启动画面后显示白屏

...。我已经在下面给出的ionic4项目中配置了这些属性,但它无法解决我的问题。<preferencename="AutoHideSplashScreen"value="false"/>&l 查看详情