Coder Social home page Coder Social logo

robovm-idea's Introduction

RoboVM

Please see robovm.com for more information.

robovm-idea's People

Contributors

badlogic avatar ntherning avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

robovm-idea's Issues

RoboVM Icon improvements

  • Add 2x version of icons for retina screens.
  • Android modules use a custom icon on the module folder. Add a ProjectViewNodeDecorator subclass with a custom folder/module icon for RoboVM modules in a multi module projects.
<projectViewNodeDecorator id="robovm.module.node.decorator" implementation="org.robovm.tools.idea.ModuleNodeIconDecorator"/>

Generating modules via wizard using Maven/Gradle fails

Generating projects with a single RoboVM Module works. Generating a RoboVM module in an existing project using Maven/Gradle fails. It looks like the modules aren't updated properly and the external build systems aren't refreshed.

Release build for 1.1.0 fails with an exception at startup

The release build of IDEA doesn't work. I get an exception at startup and IDEA disables the plugin. Seems to be a problem with the SDK. Nothing is extracted to .robovm-sdks/. I have verified that the robovm-dist included in the plugin JAR is for the correct version (1.1.0) and that /META-INF/robovm/version.properties (which is what org.robovm.compiler.Version.getVersion() reads) contains the correct version.

Here's the exception:

Plugin 'org.robovm.intellij' failed to initialize and will be disabled.  Please restart IntelliJ IDEA.

java.lang.NullPointerException
    at org.robovm.idea.RoboVmPlugin.getSdkLibraries(RoboVmPlugin.java:277)
    at org.robovm.idea.sdk.RoboVmSdkType.setupSdkRoots(RoboVmSdkType.java:113)
    at org.robovm.idea.sdk.RoboVmSdkType$1.run(RoboVmSdkType.java:151)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:937)
    at org.robovm.idea.sdk.RoboVmSdkType.createSdkIfNotExists(RoboVmSdkType.java:146)
    at org.robovm.idea.RoboVmPlugin.extractSdk(RoboVmPlugin.java:224)
    at org.robovm.idea.components.RoboVmApplicationComponent.initComponent(RoboVmApplicationComponent.java:30)
    at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter$1.getComponentInstance(ComponentManagerImpl.java:568)
    at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter.getComponentInstance(ComponentManagerImpl.java:610)
    at com.intellij.util.pico.DefaultPicoContainer.getLocalInstance(DefaultPicoContainer.java:245)
    at com.intellij.util.pico.DefaultPicoContainer.getComponentInstance(DefaultPicoContainer.java:211)
    at com.intellij.openapi.components.impl.ComponentManagerImpl.createComponent(ComponentManagerImpl.java:125)
    at com.intellij.openapi.application.impl.ApplicationImpl.createComponent(ApplicationImpl.java:359)
    at com.intellij.openapi.components.impl.ComponentManagerImpl.createComponents(ComponentManagerImpl.java:116)
    at com.intellij.openapi.components.impl.ComponentManagerImpl.init(ComponentManagerImpl.java:87)
    at com.intellij.openapi.components.impl.stores.ApplicationStoreImpl.load(ApplicationStoreImpl.java:101)
    at com.intellij.openapi.application.impl.ApplicationImpl.load(ApplicationImpl.java:504)
    at com.intellij.openapi.application.impl.ApplicationImpl.load(ApplicationImpl.java:486)
    at com.intellij.idea.IdeaApplication.run(IdeaApplication.java:170)
    at com.intellij.idea.MainImpl$1$1$1.run(MainImpl.java:52)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:702)
    at java.awt.EventQueue$3.run(EventQueue.java:696)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:362)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Assign RoboVM SDK for Gradle/Maven projects

We currently assign a JDK instead of a RoboVM SDK. This results in wrong sources being used in debug mode.

When compiling, we should ignore the dependencies pulled in via Maven/Gradle just as in case of Eclipse.

Add icons

For toolwindow, runconfigs, project templates.

Create RoboVM SDK

Needed to pull in the dependencies and have IDEA play nice with us.

Wrong version in plugin.xml when packaging

Maven is supposed to replace ${project.version} in src/main/resources/META-INF/plugin.xml with the version from the POM but that doesn't seem to work reliably. Works sometimes though. I had a look at the POM and the assembly and I think the cause of this problem is the fileSet in the plugin-assembly.xml:

    <fileSets>
        <fileSet>
            <directory>${project.basedir}/src/main/resources/META-INF</directory>
            <outputDirectory>/META-INF</outputDirectory>
            <includes>
                <include>**/*</include>
            </includes>
        </fileSet>
    </fileSets>

This copies the unfiltered plugin.xml file. The filtered one is already included in the project artifact which is also copied by the assembly:

    <dependencySets>
        <dependencySet>
            <outputDirectory>/</outputDirectory>
            <useProjectArtifact>true</useProjectArtifact>
            <unpack>true</unpack>
            <excludes>
                <exclude>org.robovm:robovm-dist</exclude>
            </excludes>
        </dependencySet>
        <dependencySet>
            <outputDirectory>/</outputDirectory>
            <useProjectArtifact>false</useProjectArtifact>
            <unpack>false</unpack>
            <includes>
                <include>org.robovm:robovm-dist</include>
            </includes>
        </dependencySet>
    </dependencySets>

I believe the problem will be fixed by just removing the fileSet. No need to copy what is already in the project artifact jar file.

NullPointerException when opening existing project using IntelliJ plugin

I have a project using the IntelliJ plugin. The plugin was working fine at first, but now when I open my project I see a warning about a plugin exception (full log below). Probably as a consequence of this, the plugin doesn't seem to be fully loaded. When I try to create a new RoboVM iOS run configuration, all the select controls are empty, so I can’t pick any options for my run configuration.

Full stack trace follows:

null
java.lang.NullPointerException
at org.robovm.idea.RoboVmPlugin.isRoboVmModule(RoboVmPlugin.java:336)
at org.robovm.idea.interfacebuilder.IBIntegratorModuleComponent.moduleAdded(IBIntegratorModuleComponent.java:46)
at com.intellij.openapi.module.impl.ModuleImpl.moduleAdded(ModuleImpl.java:232)
at com.intellij.openapi.module.impl.ModuleManagerImpl$5.run(ModuleManagerImpl.java:587)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:937)
at com.intellij.openapi.module.impl.ModuleManagerImpl.fireModuleAddedInWriteAction(ModuleManagerImpl.java:584)
at com.intellij.openapi.module.impl.ModuleManagerComponent$3$1.run(ModuleManagerComponent.java:139)
at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:161)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:332)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:702)
at java.awt.EventQueue$3.run(EventQueue.java:696)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:734)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:569)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:382)
at com.intellij.ide.IdeEventQueue.pumpEventsForHierarchy(IdeEventQueue.java:818)
at com.intellij.openapi.progress.util.ProgressWindow.startBlocking(ProgressWindow.java:208)
at com.intellij.openapi.application.impl.ApplicationImpl.runProcessWithProgressSynchronously(ApplicationImpl.java:639)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:363)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcessWithProgressSynchronously(ProgressManagerImpl.java:76)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:240)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:193)
at com.intellij.openapi.module.impl.ModuleManagerComponent.fireModulesAdded(ModuleManagerComponent.java:155)
at com.intellij.openapi.module.impl.ModuleManagerImpl.projectOpened(ModuleManagerImpl.java:572)
at com.intellij.openapi.project.impl.ProjectImpl.projectOpened(ProjectImpl.java:398)
at com.intellij.openapi.project.impl.ProjectImpl.access$200(ProjectImpl.java:73)
at com.intellij.openapi.project.impl.ProjectImpl$MyProjectManagerListener.projectOpened(ProjectImpl.java:433)
at com.intellij.openapi.project.impl.ProjectManagerImpl$3.projectOpened(ProjectManagerImpl.java:154)
at com.intellij.openapi.project.impl.ProjectManagerImpl.fireProjectOpened(ProjectManagerImpl.java:938)
at com.intellij.openapi.project.impl.ProjectManagerImpl.openProject(ProjectManagerImpl.java:461)
at com.intellij.openapi.project.impl.ProjectManagerImpl.loadAndOpenProject(ProjectManagerImpl.java:562)
at com.intellij.ide.impl.ProjectUtil.openProject(ProjectUtil.java:182)
at com.intellij.ide.RecentProjectsManagerImpl.doOpenProject(RecentProjectsManagerImpl.java:46)
at com.intellij.ide.RecentProjectsManagerBase.doReopenLastProject(RecentProjectsManagerBase.java:357)
at com.intellij.ide.RecentProjectsManagerBase$MyAppLifecycleListener.appStarting(RecentProjectsManagerBase.java:384)
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:497)
at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:116)
at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:322)
at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:309)
at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:288)
at com.intellij.util.messages.impl.MessageBusImpl.access$200(MessageBusImpl.java:41)
at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:177)
at com.sun.proxy.$Proxy55.appStarting(Unknown Source)
at com.intellij.idea.IdeaApplication$IdeStarter$2.run(IdeaApplication.java:328)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:332)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:702)
at java.awt.EventQueue$3.run(EventQueue.java:696)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:734)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:569)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:382)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Add support for console projects

Need to have two SDKs, one for iOS, one for console excluding the cocoatouch rt. Idea can only assign a single SDK to a project.

Implement logging facilities

We probably want our own tab at the bottom of the IDE. RoboVMPluginUtils should provide logging methods and a Logger implementation.

Implement release run configuration

Should compile module based on classpath of module and dependencies. A few helpful snippets:

    // this is how we get the classpath of a module
    // ModuleRootManager.getInstance(ModuleManager.getInstance(project).getModules()[3]).orderEntries().classes().getRoots();

    // this is how we get the source paths
    // ModuleRootManager.getInstance(ModuleManager.getInstance(project).getModules()[3]).orderEntries().getSourcePathsList()

    // need to recursively get the dependencies as well, both classes and sources
    // should be simple

    // attach debugger https://devnet.jetbrains.com/message/5522503#5522503

//    Project project = e.getProject();
//    System.out.println(project);
    //GUI.main(new String[0]);

Linker error: ld: file not found: /..../Project/ios/build/libs/ios/libObjectAL.a

Hello roboVM Team,

I'm running into linker errors when trying to create an IPA. The project setup is:
roboVM 1.1.0,
libGDX 1.5.5
android.tools.build:gradle:1.1.2
org.robovm:robovm-gradle-plugin:1.1.0
org.robovm.idea-1.1.1-SNAPSHOT-plugin-dist-20150422_021132-51

Below is the error output. Do you have any ideas how to fix or workaround it, in a way that leads to a valid .ipa output?
Thank you.

[DEBUG] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -o /Users/usr/Library/Caches/AndroidStudio/tmp/robovm7571209546049977807.tmp/thumbv7/IOSLauncher -arch armv7 -Wl,-filelist,/Users/usr/Library/Caches/AndroidStudio/tmp/robovm7571209546049977807.tmp/thumbv7/objects -L /Users/usr/.robovm-sdks/robovm-1.1.1-SNAPSHOT/lib/vm/ios/thumbv7 -ObjC -exported_symbols_list /Users/usr/Library/Caches/AndroidStudio/tmp/robovm7571209546049977807.tmp/thumbv7/exported_symbols -Wl,-no_implicit_dylibs -Wl,-dead_strip -F/Users/usr/.robovm/cache/ios/thumbv7/release/Users/usr/Workspace/AndroidStudio/MyAwesomeProject/ios/libs/facebook-1.0.0.jar.extracted/META-INF/robovm/ios/libs -miphoneos-version-min=5.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.2.sdk -lrobovm-bc -force_load /Users/usr/.robovm-sdks/robovm-1.1.1-SNAPSHOT/lib/vm/ios/thumbv7/librobovm-rt.a -lrobovm-core -lgc -lpthread -ldl -lm -liconv -lsqlite3 -framework Foundation -framework Foundation -framework StoreKit -framework CoreData -framework SystemConfiguration -framework FacebookSDK -framework CoreLocation -framework CoreGraphics -framework UIKit -framework OpenGLES -framework QuartzCore -framework OpenAL -framework AudioToolbox -framework AVFoundation -force_load /Users/usr/.robovm/cache/ios/thumbv7/release/Users/usr/Workspace/AndroidStudio/MyAwesomeProject/ios/libs/google-analytics-1.0.0.jar.extracted/META-INF/robovm/ios/libs/libgoogleanalytics.a -force_load /Users/usr/Workspace/AndroidStudio/MyAwesomeProject/ios/build/libs/ios/libObjectAL.a -force_load /Users/usr/Workspace/AndroidStudio/MyAwesomeProject/ios/build/libs/ios/libgdx-freetype.a -force_load /Users/usr/Workspace/AndroidStudio/MyAwesomeProject/ios/build/libs/ios/libgdx.a -framework MobileCoreServices
[ERROR] ld: file not found: /Users/usr/Workspace/AndroidStudio/MyAwesomeProject/ios/build/libs/ios/libObjectAL.a
[ERROR] clang: error: linker command failed with exit code 1 (use -v to see invocation)
[ERROR] Couldn't create IPA
org.apache.commons.exec.ExecuteException: Command '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -o /Users/usr/Library/Caches/AndroidStudio/tmp/robovm7571209546049977807.tmp/thumbv7/IOSLauncher -arch armv7 -Wl,-filelist,/Users/usr/Library/Caches/AndroidStudio/tmp/robovm7571209546049977807.tmp/thumbv7/objects -L /Users/usr/.robovm-sdks/robovm-1.1.1-SNAPSHOT/lib/vm/ios/thumbv7 -ObjC -exported_symbols_list /Users/usr/Library/Caches/AndroidStudio/tmp/robovm7571209546049977807.tmp/thumbv7/exported_symbols -Wl,-no_implicit_dylibs -Wl,-dead_strip -F/Users/usr/.robovm/cache/ios/thumbv7/release/Users/usr/Workspace/AndroidStudio/MyAwesomeProject/ios/libs/facebook-1.0.0.jar.extracted/META-INF/robovm/ios/libs -miphoneos-version-min=5.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.2.sdk -lrobovm-bc -force_load /Users/usr/.robovm-sdks/robovm-1.1.1-SNAPSHOT/lib/vm/ios/thumbv7/librobovm-rt.a -lrobovm-core -lgc -lpthread -ldl -lm -liconv -lsqlite3 -framework Foundation -framework Foundation -framework StoreKit -framework CoreData -framework SystemConfiguration -framework FacebookSDK -framework CoreLocation -framework CoreGraphics -framework UIKit -framework OpenGLES -framework QuartzCore -framework OpenAL -framework AudioToolbox -framework AVFoundation -force_load /Users/usr/.robovm/cache/ios/thumbv7/release/Users/usr/Workspace/AndroidStudio/MyAwesomeProject/ios/libs/google-analytics-1.0.0.jar.extracted/META-INF/robovm/ios/libs/libgoogleanalytics.a -force_load /Users/usr/Workspace/AndroidStudio/MyAwesomeProject/ios/build/libs/ios/libObjectAL.a -force_load /Users/usr/Workspace/AndroidStudio/MyAwesomeProject/ios/build/libs/ios/libgdx-freetype.a -force_load /Users/usr/Workspace/AndroidStudio/MyAwesomeProject/ios/build/libs/ios/libgdx.a -framework MobileCoreServices' failed (Exit value: 1)
    at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:346)
    at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:149)
    at org.robovm.compiler.util.Executor.exec(Executor.java:344)
    at org.robovm.compiler.util.ToolchainUtil.link(ToolchainUtil.java:300)
    at org.robovm.compiler.target.AbstractTarget.doBuild(AbstractTarget.java:206)
    at org.robovm.compiler.target.ios.IOSTarget.doBuild(IOSTarget.java:314)
    at org.robovm.compiler.target.AbstractTarget.build(AbstractTarget.java:200)
    at org.robovm.compiler.Linker.link(Linker.java:359)
    at org.robovm.compiler.AppCompiler.compile(AppCompiler.java:389)
    at org.robovm.compiler.AppCompiler.createIpa(AppCompiler.java:683)
    at org.robovm.idea.compilation.RoboVmCompileTask$1.doCompile(RoboVmCompileTask.java:110)
    at org.robovm.idea.compilation.RoboVmCompilerThread.run(RoboVmCompilerThread.java:66)

[INFO] IPA creation complete, 0 errors, 0 warnings

Extract RoboVM tar.gz to create RoboVM home

Should probably be part of an application component. Called on startup of IDE, checks if RoboVM home exists, extracts tar.gz if not or if newer and snapshot version. See Eclipse plugin for an implementation of that logic. Figure out the best place to place the SDK.

IDEA throws NPEs for class prepare event without constraints

IDEA sends a class prepare event request on startup with id 0. This request has no constraints, so we are supposed to report all class prepare events. However, upon receiving such events, IDEA throws an NPE as it can't find the request corresponding to id 0. However, it never clears that request, so something is up in IDEA.

This issue doesn't have an impact on functionality, everything works as intended. It's just that you see a lot of NPEs when developing the IDEA plugin.

NullPointerException selecting Build -> Create IPA

Choosing the menu option Build -> Create IPA leads to the NullPointerException below. Versions in use are:
org.robovm.idea-1.1.1-SNAPSHOT-plugin-dist-20150422_021132-51
robovm 1.1.0
com.android.tools.build:gradle:1.1.2
org.robovm:robovm-gradle-plugin:1.1.0
ligGDX 1.5.5
Android Studio 1.2 RC0

null
java.lang.NullPointerException
    at org.robovm.idea.RoboVmPlugin.isRoboVmModule(RoboVmPlugin.java:338)
    at org.robovm.idea.interfacebuilder.IBIntegratorModuleComponent.moduleAdded(IBIntegratorModuleComponent.java:46)
    at com.intellij.openapi.module.impl.ModuleImpl.moduleAdded(ModuleImpl.java:232)
    at com.intellij.openapi.module.impl.ModuleManagerImpl$5.run(ModuleManagerImpl.java:587)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:937)
    at com.intellij.openapi.module.impl.ModuleManagerImpl.fireModuleAddedInWriteAction(ModuleManagerImpl.java:584)
    at com.intellij.openapi.module.impl.ModuleManagerComponent$3$1.run(ModuleManagerComponent.java:139)
    at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:161)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:332)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:702)
    at java.awt.EventQueue$3.run(EventQueue.java:696)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:734)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:569)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:382)
    at com.intellij.ide.IdeEventQueue.pumpEventsForHierarchy(IdeEventQueue.java:818)
    at com.intellij.openapi.progress.util.ProgressWindow.startBlocking(ProgressWindow.java:208)
    at com.intellij.openapi.application.impl.ApplicationImpl.runProcessWithProgressSynchronously(ApplicationImpl.java:639)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:363)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcessWithProgressSynchronously(ProgressManagerImpl.java:76)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:240)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:193)
    at com.intellij.openapi.module.impl.ModuleManagerComponent.fireModulesAdded(ModuleManagerComponent.java:155)
    at com.intellij.openapi.module.impl.ModuleManagerImpl.projectOpened(ModuleManagerImpl.java:572)
    at com.intellij.openapi.project.impl.ProjectImpl.projectOpened(ProjectImpl.java:398)
    at com.intellij.openapi.project.impl.ProjectImpl.access$200(ProjectImpl.java:73)
    at com.intellij.openapi.project.impl.ProjectImpl$MyProjectManagerListener.projectOpened(ProjectImpl.java:433)
    at com.intellij.openapi.project.impl.ProjectManagerImpl$3.projectOpened(ProjectManagerImpl.java:154)
    at com.intellij.openapi.project.impl.ProjectManagerImpl.fireProjectOpened(ProjectManagerImpl.java:938)
    at com.intellij.openapi.project.impl.ProjectManagerImpl.openProject(ProjectManagerImpl.java:461)
    at com.intellij.openapi.project.impl.ProjectManagerImpl.loadAndOpenProject(ProjectManagerImpl.java:562)
    at com.intellij.ide.impl.ProjectUtil.openProject(ProjectUtil.java:182)
    at com.intellij.ide.RecentProjectsManagerImpl.doOpenProject(RecentProjectsManagerImpl.java:46)
    at com.intellij.ide.RecentProjectsManagerBase.doReopenLastProject(RecentProjectsManagerBase.java:357)
    at com.intellij.ide.RecentProjectsManagerBase$MyAppLifecycleListener.appStarting(RecentProjectsManagerBase.java:384)
    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:497)
    at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:116)
    at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:322)
    at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:309)
    at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:288)
    at com.intellij.util.messages.impl.MessageBusImpl.access$200(MessageBusImpl.java:41)
    at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:177)
    at com.sun.proxy.$Proxy55.appStarting(Unknown Source)
    at com.intellij.idea.IdeaApplication$IdeStarter$2.run(IdeaApplication.java:328)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:332)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:702)
    at java.awt.EventQueue$3.run(EventQueue.java:696)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:734)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:569)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:382)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)



java.lang.NullPointerException
    at org.robovm.idea.RoboVmPlugin.isRoboVmModule(RoboVmPlugin.java:338)
    at org.robovm.idea.interfacebuilder.IBIntegratorModuleComponent.moduleAdded(IBIntegratorModuleComponent.java:46)
    at com.intellij.openapi.module.impl.ModuleImpl.moduleAdded(ModuleImpl.java:232)
    at com.intellij.openapi.module.impl.ModuleManagerImpl$5.run(ModuleManagerImpl.java:587)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:937)
    at com.intellij.openapi.module.impl.ModuleManagerImpl.fireModuleAddedInWriteAction(ModuleManagerImpl.java:584)
    at com.intellij.openapi.module.impl.ModuleManagerComponent$3$1.run(ModuleManagerComponent.java:139)
    at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:161)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:332)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:702)
    at java.awt.EventQueue$3.run(EventQueue.java:696)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:734)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:569)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:382)
    at com.intellij.ide.IdeEventQueue.pumpEventsForHierarchy(IdeEventQueue.java:818)
    at com.intellij.openapi.progress.util.ProgressWindow.startBlocking(ProgressWindow.java:208)
    at com.intellij.openapi.application.impl.ApplicationImpl.runProcessWithProgressSynchronously(ApplicationImpl.java:639)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:363)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcessWithProgressSynchronously(ProgressManagerImpl.java:76)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:240)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:193)
    at com.intellij.openapi.module.impl.ModuleManagerComponent.fireModulesAdded(ModuleManagerComponent.java:155)
    at com.intellij.openapi.module.impl.ModuleManagerImpl.projectOpened(ModuleManagerImpl.java:572)
    at com.intellij.openapi.project.impl.ProjectImpl.projectOpened(ProjectImpl.java:398)
    at com.intellij.openapi.project.impl.ProjectImpl.access$200(ProjectImpl.java:73)
    at com.intellij.openapi.project.impl.ProjectImpl$MyProjectManagerListener.projectOpened(ProjectImpl.java:433)
    at com.intellij.openapi.project.impl.ProjectManagerImpl$3.projectOpened(ProjectManagerImpl.java:154)
    at com.intellij.openapi.project.impl.ProjectManagerImpl.fireProjectOpened(ProjectManagerImpl.java:938)
    at com.intellij.openapi.project.impl.ProjectManagerImpl.openProject(ProjectManagerImpl.java:461)
    at com.intellij.openapi.project.impl.ProjectManagerImpl.loadAndOpenProject(ProjectManagerImpl.java:562)
    at com.intellij.ide.impl.ProjectUtil.openProject(ProjectUtil.java:182)
    at com.intellij.ide.RecentProjectsManagerImpl.doOpenProject(RecentProjectsManagerImpl.java:46)
    at com.intellij.ide.RecentProjectsManagerBase.doReopenLastProject(RecentProjectsManagerBase.java:357)
    at com.intellij.ide.RecentProjectsManagerBase$MyAppLifecycleListener.appStarting(RecentProjectsManagerBase.java:384)
    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:497)
    at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:116)
    at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:322)
    at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:309)
    at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:288)
    at com.intellij.util.messages.impl.MessageBusImpl.access$200(MessageBusImpl.java:41)
    at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:177)
    at com.sun.proxy.$Proxy55.appStarting(Unknown Source)
    at com.intellij.idea.IdeaApplication$IdeStarter$2.run(IdeaApplication.java:328)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:332)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:702)
    at java.awt.EventQueue$3.run(EventQueue.java:696)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:734)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:569)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:382)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)



java.lang.NullPointerException
    at org.robovm.idea.RoboVmPlugin.isRoboVmModule(RoboVmPlugin.java:338)
    at org.robovm.idea.interfacebuilder.IBIntegratorModuleComponent.moduleAdded(IBIntegratorModuleComponent.java:46)
    at com.intellij.openapi.module.impl.ModuleImpl.moduleAdded(ModuleImpl.java:232)
    at com.intellij.openapi.module.impl.ModuleManagerImpl$5.run(ModuleManagerImpl.java:587)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:937)
    at com.intellij.openapi.module.impl.ModuleManagerImpl.fireModuleAddedInWriteAction(ModuleManagerImpl.java:584)
    at com.intellij.openapi.module.impl.ModuleManagerComponent$3$1.run(ModuleManagerComponent.java:139)
    at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:161)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:332)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:702)
    at java.awt.EventQueue$3.run(EventQueue.java:696)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:734)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:569)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:382)
    at com.intellij.ide.IdeEventQueue.pumpEventsForHierarchy(IdeEventQueue.java:818)
    at com.intellij.openapi.progress.util.ProgressWindow.startBlocking(ProgressWindow.java:208)
    at com.intellij.openapi.application.impl.ApplicationImpl.runProcessWithProgressSynchronously(ApplicationImpl.java:639)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:363)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcessWithProgressSynchronously(ProgressManagerImpl.java:76)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:240)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:193)
    at com.intellij.openapi.module.impl.ModuleManagerComponent.fireModulesAdded(ModuleManagerComponent.java:155)
    at com.intellij.openapi.module.impl.ModuleManagerImpl.projectOpened(ModuleManagerImpl.java:572)
    at com.intellij.openapi.project.impl.ProjectImpl.projectOpened(ProjectImpl.java:398)
    at com.intellij.openapi.project.impl.ProjectImpl.access$200(ProjectImpl.java:73)
    at com.intellij.openapi.project.impl.ProjectImpl$MyProjectManagerListener.projectOpened(ProjectImpl.java:433)
    at com.intellij.openapi.project.impl.ProjectManagerImpl$3.projectOpened(ProjectManagerImpl.java:154)
    at com.intellij.openapi.project.impl.ProjectManagerImpl.fireProjectOpened(ProjectManagerImpl.java:938)
    at com.intellij.openapi.project.impl.ProjectManagerImpl.openProject(ProjectManagerImpl.java:461)
    at com.intellij.openapi.project.impl.ProjectManagerImpl.loadAndOpenProject(ProjectManagerImpl.java:562)
    at com.intellij.ide.impl.ProjectUtil.openProject(ProjectUtil.java:182)
    at com.intellij.ide.RecentProjectsManagerImpl.doOpenProject(RecentProjectsManagerImpl.java:46)
    at com.intellij.ide.RecentProjectsManagerBase.doReopenLastProject(RecentProjectsManagerBase.java:357)
    at com.intellij.ide.RecentProjectsManagerBase$MyAppLifecycleListener.appStarting(RecentProjectsManagerBase.java:384)
    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:497)
    at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:116)
    at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:322)
    at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:309)
    at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:288)
    at com.intellij.util.messages.impl.MessageBusImpl.access$200(MessageBusImpl.java:41)
    at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:177)
    at com.sun.proxy.$Proxy55.appStarting(Unknown Source)
    at com.intellij.idea.IdeaApplication$IdeStarter$2.run(IdeaApplication.java:328)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:332)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:702)
    at java.awt.EventQueue$3.run(EventQueue.java:696)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:734)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:569)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:382)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)




org.apache.commons.exec.ExecuteException: Command '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -o /Users/usr/Library/Caches/AndroidStudio/tmp/robovm7571209546049977807.tmp/thumbv7/IOSLauncher -arch armv7 -Wl,-filelist,/Users/usr/Library/Caches/AndroidStudio/tmp/robovm7571209546049977807.tmp/thumbv7/objects -L /Users/usr/.robovm-sdks/robovm-1.1.1-SNAPSHOT/lib/vm/ios/thumbv7 -ObjC -exported_symbols_list /Users/usr/Library/Caches/AndroidStudio/tmp/robovm7571209546049977807.tmp/thumbv7/exported_symbols -Wl,-no_implicit_dylibs -Wl,-dead_strip -F/Users/usr/.robovm/cache/ios/thumbv7/release/Users/usr/Workspace/AndroidStudio/MyAwesomeProject/ios/libs/facebook-1.0.0.jar.extracted/META-INF/robovm/ios/libs -miphoneos-version-min=5.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.2.sdk -lrobovm-bc -force_load /Users/usr/.robovm-sdks/robovm-1.1.1-SNAPSHOT/lib/vm/ios/thumbv7/librobovm-rt.a -lrobovm-core -lgc -lpthread -ldl -lm -liconv -lsqlite3 -framework Foundation -framework Foundation -framework StoreKit -framework CoreData -framework SystemConfiguration -framework FacebookSDK -framework CoreLocation -framework CoreGraphics -framework UIKit -framework OpenGLES -framework QuartzCore -framework OpenAL -framework AudioToolbox -framework AVFoundation -force_load /Users/usr/.robovm/cache/ios/thumbv7/release/Users/usr/Workspace/AndroidStudio/MyAwesomeProject/ios/libs/google-analytics-1.0.0.jar.extracted/META-INF/robovm/ios/libs/libgoogleanalytics.a -force_load /Users/usr/Workspace/AndroidStudio/MyAwesomeProject/ios/build/libs/ios/libObjectAL.a -force_load /Users/usr/Workspace/AndroidStudio/MyAwesomeProject/ios/build/libs/ios/libgdx-freetype.a -force_load /Users/usr/Workspace/AndroidStudio/MyAwesomeProject/ios/build/libs/ios/libgdx.a -framework MobileCoreServices' failed (Exit value: 1)
    at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:346)
    at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:149)
    at org.robovm.compiler.util.Executor.exec(Executor.java:344)
    at org.robovm.compiler.util.ToolchainUtil.link(ToolchainUtil.java:300)
    at org.robovm.compiler.target.AbstractTarget.doBuild(AbstractTarget.java:206)
    at org.robovm.compiler.target.ios.IOSTarget.doBuild(IOSTarget.java:314)
    at org.robovm.compiler.target.AbstractTarget.build(AbstractTarget.java:200)
    at org.robovm.compiler.Linker.link(Linker.java:359)
    at org.robovm.compiler.AppCompiler.compile(AppCompiler.java:389)
    at org.robovm.compiler.AppCompiler.createIpa(AppCompiler.java:683)
    at org.robovm.idea.compilation.RoboVmCompileTask$1.doCompile(RoboVmCompileTask.java:110)
    at org.robovm.idea.compilation.RoboVmCompilerThread.run(RoboVmCompilerThread.java:66)

[INFO] IPA creation complete, 0 errors, 0 warnings

License manager messes up the color scheme

Opening the roboVM license manager while using the dark color scheme messes up the the background colors of the Android Studio UI. Here's a example:
screen shot 2015-04-22 at 9 55 31 am

Happens with versions:
org.robovm.idea-1.1.1-SNAPSHOT-plugin-dist-20150422_021132-51.jar
Android Studio 1.1.0 (havn't tried the latest version of AS)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.