Building sdk on Windows

177 views
Skip to first unread message

Yuri Cauwerts

unread,
Nov 28, 2013, 6:36:20 PM11/28/13
to javafx...@googlegroups.com
Ok, building an app works, now I want to dig into the code to get a better understanding and (maybe one day) solve some bugs.
I need some help from you smart guys ;-)
My first plan is to build the sdk on windows 8, next I might need some 30000 feet overview of the code, if anyone feels like writing a thread on this, please do!

First issue while building the sdk, it can't find sdkAndroid() which is referenced in buildsrc/android.gradle, though I think this is not the actual error, I get a nullpointerexception at the bottom...
My knowledge about gradle is limited.
Can anyone explain me what gradle is looking for? Where is (should) this method (be) defined?

Also what happens in android\build.gradle:785 
Desc:It generates JNI headers
properties.javahSource equals null when i println it.
println(source(project.sourceSets.main.output.classesDir)) returns the following lines in the output:
task ':graphics:javahAndroidGlass'
task ':graphics:javahAndroidPrism'
task ':graphics:javahAndroidPrismSW'
task ':graphics:javahAndroidFont'
task ':graphics:javahAndroidIio'
task ':graphics:javahAndroidPrismES2'
task ':graphics:javahAndroidPrismD3D'
Looking in the src, it appears Decora is missing in this list?? Is this generating the nullpointerexception? Where is the order of the above tasks defined? Is it because my DXSDK failed to install? (I saw a post from Richard Bair about this... *guess this is going to be my error*...)

When I run :
gradle -PANDROID_SDK=e:/adt/sdk -PANDROID_NDK=e:/android-ndk-r9b -PDEBUG -PDALVIK_VM=true -PBINARY_STUB=e:/jdk8/jre/lib/ext/jfxrt.jar -PFREETYPE_DIR=e:/freetype-2.5.0/install -PCOMPILE_TARGETS=android

I get the following error:
Failed to notify ProjectEvaluationListener.afterEvaluate(), but primary configuration failure takes precedence.
org.codehaus.groovy.runtime.InvokerInvocationException: org.gradle.api.internal.MissingMethodException: Could not find method sdkAndroid() for arguments [android_otihkm1eb71epvm3e6jjqb71d$_run_closure9_closure42_closure43@662cbb29] on root project 'android'.
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:97)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:877)
        at groovy.lang.Closure.call(Closure.java:412)
        at org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(ClosureBackedMethodInvocationDispatch.java:40)
        at org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(ClosureBackedMethodInvocationDispatch.java:25)
        at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:79)
        at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)
        at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
        at com.sun.proxy.$Proxy13.afterEvaluate(Unknown Source)
        at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:67)
        at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61)
        at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:507)
        at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:82)
        at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:31)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:142)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:64)
        at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
        at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:35)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
        at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50)
        at org.gradle.api.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
        at org.gradle.launcher.Main.doAction(Main.java:46)
        at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
        at org.gradle.launcher.Main.main(Main.java:37)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:32)
        at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Caused by: org.gradle.api.internal.MissingMethodException: Could not find method sdkAndroid() for arguments [android_otihkm1eb71epvm3e6jjqb71d$_run_closure9_closure42_closure43@662cbb29] on root project 'android'.
        at org.gradle.api.internal.AbstractDynamicObject.methodMissingException(AbstractDynamicObject.java:68)
        at org.gradle.api.internal.AbstractDynamicObject.invokeMethod(AbstractDynamicObject.java:56)
        at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:172)
        at org.gradle.groovy.scripts.BasicScript.methodMissing(BasicScript.java:79)
        at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaClassImpl.invokeMissingMethod(MetaClassImpl.java:804)
        at groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:1096)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1049)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:877)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:697)
        at groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:44)
        at groovy.lang.Script.invokeMethod(Script.java:78)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeOnDelegationObjects(ClosureMetaClass.java:423)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:348)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:877)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:697)
        at groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:44)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeOnDelegationObjects(ClosureMetaClass.java:407)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:346)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:877)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
        at android_otihkm1eb71epvm3e6jjqb71d$_run_closure9_closure42.doCall(E:\workspaces\javafx\android\buildSrc\android.gradle:383)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        ... 41 more
FAILURE: Build failed with an exception.

* Where:
Build file 'E:\workspaces\javafx\android\build.gradle' line: 784

* What went wrong:
A problem occurred evaluating root project 'android'.
> java.lang.NullPointerException (no error message)

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

BUILD FAILED

Total time: 54.673 secs

Yuri Cauwerts

unread,
Nov 29, 2013, 6:32:24 AM11/29/13
to javafx...@googlegroups.com

Yuri Cauwerts

unread,
Dec 1, 2013, 7:49:41 AM12/1/13
to javafx...@googlegroups.com
Trivia question:
 
What's faster?
A) Trying to get dx-sdk on windows8 so it builds correctly, 
B) Setup a new Hyper-V with a fresh installation of Ubuntu, setup your development environment, download all code for android-sdk,build it on linux and copy it to       Win8 via nodejs http-server (which you first have to install ofcourse).

I can confirm that B) is definitely faster... <sigh>...
Anyhow, I succeeded in builing android-sdk for javafx!



Yuri Cauwerts

unread,
Dec 1, 2013, 8:08:34 AM12/1/13
to javafx...@googlegroups.com
Forget to mention: It worked in ubuntu using gradle 1.9

Johan Vos

unread,
Dec 1, 2013, 1:42:42 PM12/1/13
to Yuri Cauwerts, javafx...@googlegroups.com
Cool, congratulations!

2013/12/1 Yuri Cauwerts <yuri.c...@gmail.com>:
> --
> You received this message because you are subscribed to the Google Groups
> "JavaFXAndroid" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to javafxandroi...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
Reply all
Reply to author
Forward
0 new messages