gluon - Configured compileSdkVersion is invalid -


hello having problem building or creating apk file on gluon project. follow step in building project on site http://docs.gluonhq.com/charm/3.0.0/#_android_2. total newbie on framework. please

executing: gradle :android

failure: build failed exception.  * went wrong: configured compilesdkversion invalid: 21 (c:/users/flashery/appdata/local/android/sdk/platforms/android-21  * try: run --stacktrace option stack trace. run --info or --debug option more log output.  build failed  total time: 1.421 secs    build failure (see notifications window stacktrace): gradle :android    issue 1 --------    requested project: c:\users\flashery\documents\netbeansprojects\gluonapplication    stack trace:     org.gradle.tooling.buildexception: not execute build using gradle distribution 'https://services.gradle.org/distributions/gradle-2.10-all.zip'.         @ org.gradle.tooling.internal.consumer.resulthandleradapter.onfailure(resulthandleradapter.java:59)         @ org.gradle.tooling.internal.consumer.async.defaultasyncconsumeractionexecutor$1$1.run(defaultasyncconsumeractionexecutor.java:57)         @ org.gradle.internal.concurrent.executorpolicy$catchandrecordfailures.onexecute(executorpolicy.java:54)         @ org.gradle.internal.concurrent.stoppableexecutorimpl$1.run(stoppableexecutorimpl.java:40)         @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1142)         @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:617)         @ java.lang.thread.run(thread.java:745)         @ org.gradle.tooling.internal.consumer.blockingresulthandler.getresult(blockingresulthandler.java:46)         @ org.gradle.tooling.internal.consumer.defaultbuildlauncher.run(defaultbuildlauncher.java:72)         @ org.netbeans.gradle.project.tasks.asyncgradletask.runbuild(asyncgradletask.java:369)         @ org.netbeans.gradle.project.tasks.asyncgradletask.dogradletaskswithprogressignoretaskdefcancel(asyncgradletask.java:492)         @ org.netbeans.gradle.project.tasks.asyncgradletask.dogradletaskswithprogressignoretaskdefcancel(asyncgradletask.java:402)         @ org.netbeans.gradle.project.tasks.asyncgradletask.dogradletaskswithprogress(asyncgradletask.java:393)         @ org.netbeans.gradle.project.tasks.asyncgradletask.access$400(asyncgradletask.java:84)         @ org.netbeans.gradle.project.tasks.asyncgradletask$buildexecutionitem$1.run(asyncgradletask.java:775)         @ org.netbeans.gradle.project.tasks.gradledaemonmanager.runblockinggradletask(gradledaemonmanager.java:51)         @ org.netbeans.gradle.project.tasks.gradledaemonmanager.access$200(gradledaemonmanager.java:22)         @ org.netbeans.gradle.project.tasks.gradledaemonmanager$2.execute(gradledaemonmanager.java:128)         @ org.jtrim.concurrent.abstracttaskexecutorservice$functionwrapper.execute(abstracttaskexecutorservice.java:270)         @ org.jtrim.concurrent.abstracttaskexecutorservice$taskofabstractexecutor.execute(abstracttaskexecutorservice.java:340)         @ org.jtrim.concurrent.tasks$runoncecancelabletask.execute(tasks.java:342)         @ org.jtrim.concurrent.threadpooltaskexecutor$threadpooltaskexecutorimpl$queueditem.runtask(threadpooltaskexecutor.java:1213)         @ org.jtrim.concurrent.threadpooltaskexecutor$threadpooltaskexecutorimpl$worker.executetask(threadpooltaskexecutor.java:1049)         @ org.jtrim.concurrent.threadpooltaskexecutor$threadpooltaskexecutorimpl$worker.run(threadpooltaskexecutor.java:1179)         @ org.jtrim.concurrent.threadpooltaskexecutor$threadpooltaskexecutorimpl$worker$1.run(threadpooltaskexecutor.java:998)         @ java.lang.thread.run(thread.java:745)     caused by: org.gradle.internal.exceptions.locationawareexception: configured compilesdkversion invalid: 21 (c:/users/flashery/appdata/local/android/sdk/platforms/android-21         @ org.gradle.initialization.defaultexceptionanalyser.transform(defaultexceptionanalyser.java:74)         @ org.gradle.initialization.multiplebuildfailuresexceptionanalyser.transform(multiplebuildfailuresexceptionanalyser.java:47)         @ org.gradle.initialization.stacktracesanitizingexceptionanalyser.transform(stacktracesanitizingexceptionanalyser.java:30)         @ org.gradle.initialization.defaultgradlelauncher$1.create(defaultgradlelauncher.java:101)         @ org.gradle.initialization.defaultgradlelauncher$1.create(defaultgradlelauncher.java:93)         @ org.gradle.internal.progress.defaultbuildoperationexecutor.run(defaultbuildoperationexecutor.java:90)         @ org.gradle.internal.progress.defaultbuildoperationexecutor.run(defaultbuildoperationexecutor.java:62)         @ org.gradle.initialization.defaultgradlelauncher.dobuild(defaultgradlelauncher.java:93)         @ org.gradle.initialization.defaultgradlelauncher.run(defaultgradlelauncher.java:82)         @ org.gradle.launcher.exec.inprocessbuildactionexecuter$defaultbuildcontroller.run(inprocessbuildactionexecuter.java:94)         @ org.gradle.tooling.internal.provider.runner.buildmodelactionrunner.run(buildmodelactionrunner.java:46)         @ org.gradle.launcher.exec.chainingbuildactionrunner.run(chainingbuildactionrunner.java:35)         @ org.gradle.tooling.internal.provider.runner.subscribablebuildactionrunner.run(subscribablebuildactionrunner.java:58)         @ org.gradle.launcher.exec.chainingbuildactionrunner.run(chainingbuildactionrunner.java:35)         @ org.gradle.launcher.exec.inprocessbuildactionexecuter.execute(inprocessbuildactionexecuter.java:43)         @ org.gradle.launcher.exec.inprocessbuildactionexecuter.execute(inprocessbuildactionexecuter.java:28)         @ org.gradle.launcher.exec.continuousbuildactionexecuter.execute(continuousbuildactionexecuter.java:78)         @ org.gradle.launcher.exec.continuousbuildactionexecuter.execute(continuousbuildactionexecuter.java:48)         @ org.gradle.launcher.daemon.server.exec.executebuild.dobuild(executebuild.java:52)         @ org.gradle.launcher.daemon.server.exec.buildcommandonly.execute(buildcommandonly.java:36)         @ org.gradle.launcher.daemon.server.api.daemoncommandexecution.proceed(daemoncommandexecution.java:120)         @ org.gradle.launcher.daemon.server.exec.watchfordisconnection.execute(watchfordisconnection.java:37)         @ org.gradle.launcher.daemon.server.api.daemoncommandexecution.proceed(daemoncommandexecution.java:120)         @ org.gradle.launcher.daemon.server.exec.resetdeprecationlogger.execute(resetdeprecationlogger.java:26)         @ org.gradle.launcher.daemon.server.api.daemoncommandexecution.proceed(daemoncommandexecution.java:120)         @ org.gradle.launcher.daemon.server.exec.requeststopifsingleuseddaemon.execute(requeststopifsingleuseddaemon.java:34)         @ org.gradle.launcher.daemon.server.api.daemoncommandexecution.proceed(daemoncommandexecution.java:120)         @ org.gradle.launcher.daemon.server.exec.forwardclientinput$2.call(forwardclientinput.java:74)         @ org.gradle.launcher.daemon.server.exec.forwardclientinput$2.call(forwardclientinput.java:72)         @ org.gradle.util.swapper.swap(swapper.java:38)         @ org.gradle.launcher.daemon.server.exec.forwardclientinput.execute(forwardclientinput.java:72)         @ org.gradle.launcher.daemon.server.api.daemoncommandexecution.proceed(daemoncommandexecution.java:120)         @ org.gradle.launcher.daemon.server.health.daemonhealthtracker.execute(daemonhealthtracker.java:47)         @ org.gradle.launcher.daemon.server.api.daemoncommandexecution.proceed(daemoncommandexecution.java:120)         @ org.gradle.launcher.daemon.server.exec.logtoclient.dobuild(logtoclient.java:66)         @ org.gradle.launcher.daemon.server.exec.buildcommandonly.execute(buildcommandonly.java:36)         @ org.gradle.launcher.daemon.server.api.daemoncommandexecution.proceed(daemoncommandexecution.java:120)         @ org.gradle.launcher.daemon.server.exec.establishbuildenvironment.dobuild(establishbuildenvironment.java:72)         @ org.gradle.launcher.daemon.server.exec.buildcommandonly.execute(buildcommandonly.java:36)         @ org.gradle.launcher.daemon.server.api.daemoncommandexecution.proceed(daemoncommandexecution.java:120)         @ org.gradle.launcher.daemon.server.health.hintgcafterbuild.execute(hintgcafterbuild.java:41)         @ org.gradle.launcher.daemon.server.api.daemoncommandexecution.proceed(daemoncommandexecution.java:120)         @ org.gradle.launcher.daemon.server.exec.startbuildorrespondwithbusy$1.run(startbuildorrespondwithbusy.java:50)         @ org.gradle.launcher.daemon.server.daemonstatecoordinator$1.run(daemonstatecoordinator.java:246)         @ org.gradle.internal.concurrent.executorpolicy$catchandrecordfailures.onexecute(executorpolicy.java:54)         @ org.gradle.internal.concurrent.stoppableexecutorimpl$1.run(stoppableexecutorimpl.java:40)     caused by: org.gradle.api.gradleexception: configured compilesdkversion invalid: 21 (c:/users/flashery/appdata/local/android/sdk/platforms/android-21         @ org.javafxports.jfxmobile.plugin.android.androidextension.validate(androidextension.groovy:106)         @ org.javafxports.jfxmobile.plugin.android.androidextension$validate.call(unknown source)         @ org.javafxports.jfxmobile.plugin.jfxmobileplugin.configureandroid(jfxmobileplugin.groovy:556)         @ org.javafxports.jfxmobile.plugin.jfxmobileplugin.this$2$configureandroid(jfxmobileplugin.groovy)         @ org.javafxports.jfxmobile.plugin.jfxmobileplugin$_apply_closure5.docall(jfxmobileplugin.groovy:213)         @ org.gradle.listener.closurebackedmethodinvocationdispatch.dispatch(closurebackedmethodinvocationdispatch.java:40)         @ org.gradle.listener.closurebackedmethodinvocationdispatch.dispatch(closurebackedmethodinvocationdispatch.java:25)         @ org.gradle.internal.event.abstractbroadcastdispatch.dispatch(abstractbroadcastdispatch.java:44)         @ org.gradle.internal.event.broadcastdispatch.dispatch(broadcastdispatch.java:79)         @ org.gradle.internal.event.broadcastdispatch.dispatch(broadcastdispatch.java:30)         @ org.gradle.messaging.dispatch.proxydispatchadapter$dispatchinginvocationhandler.invoke(proxydispatchadapter.java:93)         @ com.sun.proxy.$proxy53.graphpopulated(unknown source)         @ org.gradle.execution.taskgraph.defaulttaskgraphexecuter.execute(defaulttaskgraphexecuter.java:108)         @ org.gradle.execution.selectedtaskexecutionaction.execute(selectedtaskexecutionaction.java:37)         @ org.gradle.execution.defaultbuildexecuter.execute(defaultbuildexecuter.java:37)         @ org.gradle.execution.defaultbuildexecuter.access$000(defaultbuildexecuter.java:23)         @ org.gradle.execution.defaultbuildexecuter$1.proceed(defaultbuildexecuter.java:43)         @ org.gradle.execution.dryrunbuildexecutionaction.execute(dryrunbuildexecutionaction.java:32)         @ org.gradle.execution.defaultbuildexecuter.execute(defaultbuildexecuter.java:37)         @ org.gradle.execution.defaultbuildexecuter.execute(defaultbuildexecuter.java:30)         @ org.gradle.initialization.defaultgradlelauncher$4.run(defaultgradlelauncher.java:154)         @ org.gradle.internal.factories$1.create(factories.java:22)         @ org.gradle.internal.progress.defaultbuildoperationexecutor.run(defaultbuildoperationexecutor.java:90)         @ org.gradle.internal.progress.defaultbuildoperationexecutor.run(defaultbuildoperationexecutor.java:52)         @ org.gradle.initialization.defaultgradlelauncher.dobuildstages(defaultgradlelauncher.java:151)         @ org.gradle.initialization.defaultgradlelauncher.access$200(defaultgradlelauncher.java:32)         @ org.gradle.initialization.defaultgradlelauncher$1.create(defaultgradlelauncher.java:99)         ... 42 more 

gradle build file

buildscript {     repositories {         jcenter()     }     dependencies {         classpath 'org.javafxports:jfxmobile-plugin:1.0.8'     } }  apply plugin: 'org.javafxports.jfxmobile'  repositories {     jcenter()     maven {         url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'     } }  mainclassname = 'com.gluonapplication.gluonapplication'  dependencies {     compile 'com.gluonhq:charm:3.0.0'      androidruntime 'com.gluonhq:charm-android:3.0.0'     iosruntime 'com.gluonhq:charm-ios:3.0.0'     desktopruntime 'com.gluonhq:charm-desktop:3.0.0' }  jfxmobile {      javafxportsversion = '8.60.7'     android {         compilesdkversion = '21'         manifest = 'src/android/androidmanifest.xml'         androidsdk = 'c:/users/flashery/appdata/local/android/sdk'     }     ios {         infoplist = file('src/ios/default-info.plist')         forcelinkclasses = [                 'com.gluonhq.**.*',                 'io.datafx.**.*',                 'javax.annotations.**.*',                 'javax.inject.**.*',                 'javax.json.**.*',                 'org.glassfish.json.**.*'         ]     } } 

i've totally solved it, funny had same problem take look:

you should install packages

go android studio(i did way think theres no need android studio) create project go preferences appearance , behaviour after system settings next android sdk launch standalone sdk manager, sure (since question today) select on obsolete packages, install put in image , try again, found info spanish written web


Comments