Moodle app build

Re: Moodle app build

by Dani Palou -
Number of replies: 5
Picture of Core developers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Hi,

for some reason, npm installs some Windows-only packages in Mac and Linux, when it shouldn't. Please open the folder "node_modules" and remove these folders:

electron-windows-notifications

electron-builder-squirrel-windows

We're still looking for a permanent solution, for now this is the only way to go.

Kind regards,

Dani

In reply to Dani Palou

Re: Moodle app build

by Akash Badole -
Thanks for help Dani


I am removing above both folder after showing following error


F:\akas\android\clidemoodle_1>ionic cordova build android

> npm run ionic:build:before


> moodlemobile@3.5.1 ionic:build:before F:\akas\android\clidemoodle_1

> gulp


[12:11:31] Using gulpfile F:\akas\android\clidemoodle_1\gulpfile.js

[12:11:32] Starting 'lang'...

[12:11:32] Starting 'config'...

(node:10168) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.

[12:11:52] Finished 'config' after 20 s

[12:11:57] Finished 'lang' after 26 s

[12:11:57] Starting 'default'...

[12:11:57] Finished 'default' after 68 μs

> npm run ionic:build -- --target cordova --platform android


> moodlemobile@3.5.1 preionic:build F:\akas\android\clidemoodle_1

> gulp


[12:12:02] Using gulpfile F:\akas\android\clidemoodle_1\gulpfile.js

[12:12:02] Starting 'lang'...

[12:12:02] Starting 'config'...

(node:5948) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.

[12:12:22] Finished 'config' after 19 s

[12:12:23] Finished 'lang' after 21 s

[12:12:23] Starting 'default'...

[12:12:23] Finished 'default' after 66 μs


> moodlemobile@3.5.1 ionic:build F:\akas\android\clidemoodle_1

> node --max-old-space-size=16384 ./node_modules/@ionic/app-scripts/bin/ionic-app-scripts.js build "--target" "cordova" "--platform" "android"


[12:12:54]  ionic-app-scripts 3.1.9

[12:12:54]  build dev started ...

[12:12:55]  clean started ...

[12:12:55]  clean finished in 196 ms

[12:12:55]  copy started ...

[12:13:05]  copy finished in 9.28 s

[12:13:05]  deeplinks started ...

[12:13:13]  deeplinks finished in 8.46 s

[12:13:13]  transpile started ...

[12:14:55]  transpile finished in 101.45 s

[12:14:55]  preprocess started ...

[12:14:55]  preprocess finished in 26 ms

[12:14:55]  webpack started ...

[12:16:33]  webpack finished in 98.84 s

[12:16:34]  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.

[12:18:50]  sass finished in 135.94 s

[12:18:50]  postprocess started ...

[12:18:52]  postprocess finished in 2.08 s

[12:18:52]  lint started ...

[12:18:53]  build dev finished in 358.86 s

[12:20:49]  tslint: F:/akas/android/clidemoodle_1/src/providers/logger.ts, line: 48

            Calls to 'console.log' are not allowed.


      L47:  return {

      L48:      log: this.prepareLogFn(console.log.bind(console), className),

      L49:      info: this.prepareLogFn(console.info.bind(console), className),


[12:20:49]  tslint: F:/akas/android/clidemoodle_1/src/providers/logger.ts, line: 49

            Calls to 'console.info' are not allowed.


      L48:  log: this.prepareLogFn(console.log.bind(console), className),

      L49:  info: this.prepareLogFn(console.info.bind(console), className),

      L50:  warn: this.prepareLogFn(console.warn.bind(console), className),


[12:20:49]  tslint: F:/akas/android/clidemoodle_1/src/providers/logger.ts, line: 50

            Calls to 'console.warn' are not allowed.


      L49:  info: this.prepareLogFn(console.info.bind(console), className),

      L50:  warn: this.prepareLogFn(console.warn.bind(console), className),

      L51:  debug: this.prepareLogFn(console.debug.bind(console), className),


[12:20:50]  tslint: F:/akas/android/clidemoodle_1/src/providers/logger.ts, line: 51

            Calls to 'console.debug' are not allowed.


      L50:  warn: this.prepareLogFn(console.warn.bind(console), className),

      L51:  debug: this.prepareLogFn(console.debug.bind(console), className),

      L52:  error: this.prepareLogFn(console.error.bind(console), className)


[12:20:50]  tslint: F:/akas/android/clidemoodle_1/src/providers/logger.ts, line: 52

            Calls to 'console.error' are not allowed.


      L51:      debug: this.prepareLogFn(console.debug.bind(console), className),

      L52:      error: this.prepareLogFn(console.error.bind(console), className)

      L53:  };


[12:20:50]  tslint: F:/akas/android/clidemoodle_1/src/app/app.component.ts, line: 52

            comment must start with a space


      L52:              //keyboard.hideKeyboardAccessoryBar(true);

      L53:          });


[12:20:50]  tslint: F:/akas/android/clidemoodle_1/src/app/app.component.ts, line: 52

            comment must start with uppercase letter or the word(s): you, distributed, limitations, http, @todo


      L52:              //keyboard.hideKeyboardAccessoryBar(true);

      L53:          });


[12:20:50]  tslint: F:/akas/android/clidemoodle_1/src/app/app.component.ts, line: 50

            Consecutive blank lines are forbidden



[12:20:50]  tslint: F:/akas/android/clidemoodle_1/src/app/app.component.ts, line: 50

            trailing whitespace



[12:20:50]  tslint: F:/akas/android/clidemoodle_1/src/providers/app.ts, line: 118

            comment must start with a space


     L117:  if (this.isMobile()) {

     L118:      //this.keyboard.close();


[12:20:50]  tslint: F:/akas/android/clidemoodle_1/src/providers/app.ts, line: 118

            comment must start with uppercase letter or the word(s): you, distributed, limitations, http, @todo


     L117:  if (this.isMobile()) {

     L118:      //this.keyboard.close();


[12:20:50]  tslint: F:/akas/android/clidemoodle_1/src/providers/app.ts, line: 115

            Consecutive blank lines are forbidden


     L116:      closeKeyboard(): void {


[12:20:50]  tslint: F:/akas/android/clidemoodle_1/src/providers/app.ts, line: 126

            Consecutive blank lines are forbidden


     L127:      getRootNavController(): NavController {


[12:20:50]  tslint: F:/akas/android/clidemoodle_1/src/providers/app.ts, line: 115

            trailing whitespace


     L116:      closeKeyboard(): void {


[12:20:50]  tslint: F:/akas/android/clidemoodle_1/src/providers/app.ts, line: 121

            trailing whitespace


     L122:  getDB(): SQLiteDB {


[12:20:50]  tslint: F:/akas/android/clidemoodle_1/src/providers/app.ts, line: 126

            trailing whitespace


     L127:      getRootNavController(): NavController {


[12:20:50]  lint finished in 118.02 s


> moodlemobile@3.5.1 postionic:build F:\akas\android\clidemoodle_1

> gulp copy-component-templates


[12:21:08] Using gulpfile F:\akas\android\clidemoodle_1\gulpfile.js

[12:21:08] Starting 'copy-component-templates'...

[12:21:18] Finished 'copy-component-templates' after 10 s

> npm run ionic:build:after


> moodlemobile@3.5.1 ionic:build:after F:\akas\android\clidemoodle_1

> gulp copy-component-templates


[12:21:41] Using gulpfile F:\akas\android\clidemoodle_1\gulpfile.js

[12:21:41] Starting 'copy-component-templates'...

[12:21:44] Finished 'copy-component-templates' after 2.43 s

> cordova build android

cordova-android-support-gradle-release: Android platform: V7.1.2+

cordova-android-support-gradle-release: Wrote custom version '27.1.0' to F:\akas\android\clidemoodle_1\platforms\android\app\build.gradle

cordova-android-support-gradle-release: Wrote custom version '27.1.0' to F:\akas\android\clidemoodle_1\platforms\android\app\src\main\cordova-android-support-gradle-release\properties.gradle

Android Studio project detected

cordova-android-support-gradle-release: Android platform: V7.1.2+

cordova-android-support-gradle-release: Wrote custom version '27.1.0' to F:\akas\android\clidemoodle_1\platforms\android\app\build.gradle

cordova-android-support-gradle-release: Wrote custom version '27.1.0' to F:\akas\android\clidemoodle_1\platforms\android\app\src\main\cordova-android-support-gradle-release\properties.gradle

ANDROID_HOME=C:\Users\Clide\AppData\Local\Android\Sdk

JAVA_HOME=C:\Program Files\Java\jdk1.8.0_191

studio

Subproject Path: CordovaLib

Subproject Path: app

Starting a Gradle Daemon (subsequent builds will be faster)

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_4jimwywxas54mhr0mr2lj7bs7.run(F:\akas\android\clidemoodle_1\platforms\android\app\build.gradle:149)

:CordovaLib:preBuild UP-TO-DATE

:CordovaLib:preDebugBuild UP-TO-DATE

:CordovaLib:compileDebugAidl

:CordovaLib:compileDebugRenderscript

:CordovaLib:checkDebugManifest

:CordovaLib:generateDebugBuildConfig

:CordovaLib:prepareLintJar UP-TO-DATE

:CordovaLib:generateDebugResValues

:CordovaLib:generateDebugResources

:CordovaLib:packageDebugResources

:CordovaLib:platformAttrExtractor

:CordovaLib:processDebugManifest

:CordovaLib:javaPreCompileDebug

:CordovaLib:processDebugJavaRes NO-SOURCE

:app:preBuild UP-TO-DATE

:CordovaLib:processDebugResources

:CordovaLib:generateDebugSources

Note: Some input files use or override a deprecated API.

Note: Recompile with -Xlint:deprecation for details.

:CordovaLib:compileDebugJavaWithJavac

:CordovaLib:transformClassesAndResourcesWithPrepareIntermediateJarsForDebug

:app:preDebugBuild

:app:compileDebugAidl

:CordovaLib:packageDebugRenderscript NO-SOURCE

:app:compileDebugRenderscript

:app:checkDebugManifest

:app:generateDebugBuildConfig

:app:prepareLintJar UP-TO-DATE

:app:generateDebugResValues

:app:generateDebugResources

:app:mergeDebugResources

:app:createDebugCompatibleScreenManifests

:app:processDebugManifest

:app:splitsDiscoveryTaskDebug

C:\Users\Clide\.gradle\caches\transforms-1\files-1.1\support-compat-28.0.0.aar\165e148cbcdb8ef3490c0817ca45440b\res\values\values.xml:133:5-70: AAPT: error: resource android:attr/fontVariationSettings not found.


C:\Users\Clide\.gradle\caches\transforms-1\files-1.1\support-compat-28.0.0.aar\165e148cbcdb8ef3490c0817ca45440b\res\values\values.xml:133:5-70: AAPT: error: resource android:attr/ttcIndex not found.


F:\akas\android\clidemoodle_1\platforms\android\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:87: error: resource android:attr/fontVariationSettings not found.

F:\akas\android\clidemoodle_1\platforms\android\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:87: error: resource android:attr/ttcIndex not found.

error: failed linking references.


Failed to execute aapt

:app:processDebugResources FAILED

25 actionable tasks: 23 executed, 2 up-to-date

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: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)


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 2m 33s

cmd: Command failed with exit code 1 Error output:

Note: Some input files use or override a deprecated API.

Note: Recompile with -Xlint:deprecation for details.

C:\Users\Clide\.gradle\caches\transforms-1\files-1.1\support-compat-28.0.0.aar\165e148cbcdb8ef3490c0817ca45440b\res\values\values.xml:133:5-70: AAPT: error: resource android:attr/fontVariationSettings not found.


C:\Users\Clide\.gradle\caches\transforms-1\files-1.1\support-compat-28.0.0.aar\165e148cbcdb8ef3490c0817ca45440b\res\values\values.xml:133:5-70: AAPT: error: resource android:attr/ttcIndex not found.


F:\akas\android\clidemoodle_1\platforms\android\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:87: error: resource android:attr/fontVariationSettings not found.

F:\akas\android\clidemoodle_1\platforms\android\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:87: 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: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)


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 2m 33s

[ERROR] An error occurred while running subprocess cordova.


        cordova build android exited with exit code 1.


        Re-running this command with the --verbose flag may provide more information.

In reply to Akash Badole

Re: Moodle app build

by Dani Palou -
Picture of Core developers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Hi,

please make sure you're using version 7.1.2 of android platform and version 2.0.1 of 

cordova-android-support-gradle-release. There were some changes in Android recently that break the build system and these versions need to be updated. I think these are the commands to use them:

cordova platform remove android

cordova platform add android@7.1.2

cordova plugin remove cordova-android-support-gradle-release

cordova plugin add cordova-android-support-gradle-release@2.0.1

Cheers,

Dani

In reply to Dani Palou

Re: Moodle app build

by Akash Badole -

Thanks Dani 


Another error comes


F:\akas\android\clidemoodle_1>ionic cordova build android

> npm run ionic:build:before


> moodlemobile@3.5.1 ionic:build:before F:\akas\android\clidemoodle_1

> gulp


assert.js:350

    throw err;

    ^


AssertionError [ERR_ASSERTION]: Task function must be specified

    at Gulp.set [as _setTask] (F:\akas\android\clidemoodle_1\node_modules\undertaker\lib\set-task.js:10:3)

    at Gulp.task (F:\akas\android\clidemoodle_1\node_modules\undertaker\lib\task.js:13:8)

    at Object.<anonymous> (F:\akas\android\clidemoodle_1\gulpfile.js:223:6)

    at Module._compile (internal/modules/cjs/loader.js:688:30)

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)

    at Module.load (internal/modules/cjs/loader.js:598:32)

    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)

    at Function.Module._load (internal/modules/cjs/loader.js:529:3)

    at Module.require (internal/modules/cjs/loader.js:636:17)

    at require (internal/modules/cjs/helpers.js:20:18)

npm ERR! code ELIFECYCLE

npm ERR! errno 1

npm ERR! moodlemobile@3.5.1 ionic:build:before: `gulp`

npm ERR! Exit status 1

npm ERR!

npm ERR! Failed at the moodlemobile@3.5.1 ionic:build:before script.

npm ERR! This is probably not a problem with npm. There is likely additional logging output above.


npm ERR! A complete log of this run can be found in:

npm ERR!     C:\Users\Clide\AppData\Roaming\npm-cache\_logs\2018-12-11T08_00_48_488Z-debug.log

[ERROR] An error occurred while running subprocess npm.


        npm run ionic:build:before exited with exit code 1.


        Re-running this command with the --verbose flag may provide more information.


F:\akas\android\clidemoodle_1>ionic cordova build android

> npm run ionic:build:before


> moodlemobile@3.5.1 ionic:build:before F:\akas\android\clidemoodle_1

> gulp


assert.js:350

    throw err;

    ^


AssertionError [ERR_ASSERTION]: Task function must be specified

    at Gulp.set [as _setTask] (F:\akas\android\clidemoodle_1\node_modules\undertaker\lib\set-task.js:10:3)

    at Gulp.task (F:\akas\android\clidemoodle_1\node_modules\undertaker\lib\task.js:13:8)

    at Object.<anonymous> (F:\akas\android\clidemoodle_1\gulpfile.js:223:6)

    at Module._compile (internal/modules/cjs/loader.js:688:30)

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)

    at Module.load (internal/modules/cjs/loader.js:598:32)

    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)

    at Function.Module._load (internal/modules/cjs/loader.js:529:3)

    at Module.require (internal/modules/cjs/loader.js:636:17)

    at require (internal/modules/cjs/helpers.js:20:18)

npm ERR! code ELIFECYCLE

npm ERR! errno 1

npm ERR! moodlemobile@3.5.1 ionic:build:before: `gulp`

npm ERR! Exit status 1

npm ERR!

npm ERR! Failed at the moodlemobile@3.5.1 ionic:build:before script.

npm ERR! This is probably not a problem with npm. There is likely additional logging output above.


npm ERR! A complete log of this run can be found in:

npm ERR!     C:\Users\Clide\AppData\Roaming\npm-cache\_logs\2018-12-11T10_35_31_914Z-debug.log

[ERROR] An error occurred while running subprocess npm.


        npm run ionic:build:before exited with exit code 1.


        Re-running this command with the --verbose flag may provide more information.