Plans for Android Studio

Hey guys, are there any plans to officially support a real IDE (not Eclipse) for Android? I don’t know why Eclipse is still a thing, its probably the buggiest, slowest, most bloated piece of crap in the development world.

Has anyone successfully created a gradle/maven build process?

2 Likes

1 year ago, before I launched Cocos Code IDE using eclipse, I asked google guys when will be Android Studio ready, should I start cocos2d-x plugin development with Eclipse or IntelliJ? Their answer is Android Studio couldn’t be ready and be popular in one year. So both Cocos Code IDE and ARM DS-5 were developed on Eclipse.

Anyway, after v3.3-final release, we can re-evaluate introducing Android Studio to official cocos2d-x workflow. Currently the engine team is still using eclipse for daily development on android.

1 Like

Right, it would make sense to go with Eclipse in that situation, but I guess my question is if somebody has gotten a clean/working base gradle build file that we can use to build from within Intellij or Android Studio. I guess the other issue is that intellij doesn’t really have real C++ support, so it wouldn’t make a lot of sense to use it as a IDE for cocos2d-x games.

(Updated)
Version 1.0 released
https://developer.android.com/sdk/index.html

Now with Android Studio released. And Google says they are not going to update ADT for Eclipse anymore. Can I know what is cocos2d-x plan with regards to this.

I also see the official android developer’s site today. Google says that Android Studio is the official Android IDE.
(And, the ‘Eclipse with ADT’ menu was gone to bottom.)
Actually, I think (Also as a app developer) using the two of IDEs for one platform is very inefficient.
(Already we are use so many developments tools…)
And, Google says they are not update ADT for eclipse anymore.

(On the Android Studio pages, they wrote that “If you have been using Eclipse with ADT, be aware that Android Studio is now the official IDE for Android, so you should migrate to Android Studio in order to continue to receive all the latest IDE updates. For help moving projects, see Migrating to Android Studio.”

And, on the ‘Installing the Eclipse Plugin’ page, they wrote that “Caution: The ADT plugin for Eclipse is no longer in active development. If you’re currently using it, you should migrate to Android Studio as soon as possible. For more details about Android Studio, see the Android Studio guide.”)

looks like this guy has done it

@p3rnoptr I only compiled the cpp-tests, which is only a small part of the work to be done. All other projects must be compiled, cocos command must be updated, the generated project must work well, and documentation must be updated. It is quite a lot of work, I just showed it is possible.

I think the cocos2d-x team wanted to move to CMake for all platforms, to have only a single build system for everything. Using Gradle for Android goes counter to this.

Also please note that despite the V1 release of Android Studio, Gradle still doesn’t seem to support NDK, and Android Studio doesn’t support C++ code edition.

On the other hand, if you want to use Gradle and Android Studio for your own projects, use this: https://github.com/chukong/programmers-guide/pull/47

I think we should not be afraid to do something different from what google recommends, or at least not be afraid to come up with a hybrid solution - I would say we should go with CMake for all because the end game is to reach as many platforms as possible with as little work as possible and monetize that market. If we are able to get Cmake working for all the major platforms - it will (generally) be a one-time work which we can then leverage “forever” so to speak.

I think what makes the most sense it to go with an approach that is most comfortable for each target platform.

Xcode - iOS
Android Studio - Android
Visual Studio - Windows Phone

CMake is great, but working properly for each target platform will make everyone’s life much easier in the end. I love QtCreator and would love to be able to do everything with CMake, but I’m not even sure how to debug an iOS simulator app with QtCreator, a lot more issues/work would arise if we’re not using the right tools for the job.

1 Like

hmm, I see your point. However, consider that I am about to publish a game, and I was able to do 99% dev and debug work in visual studio. In fact towards the end I was editing code in VS and then I hit the build button in eclipse to publish to my phone for testing. I wonder if it is possible to make it such that developers only need limited knowledge of platform specific tools, so that you only need to be good with one main IDE (and you can choose which one). I think that is a different discussion from discussing how the actual “publish” build should take place. I think native builds (Xcode->iOS, AndStudio->android, etc) gives confidence that your app is “certified” for the respective app stores - the trick is Cmake script will be intelligent enough to do it for you on each platform. Otherwise we lose the benefit of cross-platform dev and with different platforms regularly changing in different ways and with new platforms coming out every so often, developers will soon “give up” if they have to be really good in 3+ different toolchains.

The only tool we should have to use should be Cocos Studio, and everything should be in there. From app simulation to you name it. Unity does it like that(mostly), Cocos can do even better, specially because its not tied to .net crap.
Using Cocos Studio should be a ‘certification’ in its self, if the tool is well built.

2 Likes

Cocos2d-x is a cross-platform SDK, so we can’t lose the cross-platform-ness just based on the tools. I personally do 100% of my game dev in Xcode, then I just fire up my eclipse project, fight, sweat and swear for an hour to get that piece of shit to do what it’s supposed to, then build my APK. To be honest, I haven’t done too much work with cmake, I just remember it being a bit of a pain locating libs and stuff, but thats just ignorance on my part I think. Also, if you’re a developer targeting multiple platforms with your app/game, I’d 100% expect you to understand and use the tools required to target those platforms.

@Kiori - It is a huge undertaking to build a proper C++ IDE to compete with the big boys on the market (VS, Xcode, etc), and since most cocos2d-x devs use the C++ SDK, I’d hate cocos2d-x to impost an IDE. In my opinion, the cocos2d-x team should spend their time doing what we all love them for, and thats improving the core cocos2d-x framework, rather than trying to reinvent the wheel.

1 Like

My post assumes that you would use whatever tool you would want for c++ and that Cocos Studio would simply work with that. That has nothing to do with what i said.
I meantioned Unity as a reference, you should check their implementation to see what i mean.
For code editing they use mono develop, which is alright, but VS is fully integrated.

I believe apple for instance requires that the final build is made with Xcode, so…
Again check Unity, since they are currently the standard on cross-platform engines.

Unity for instance offers what Cocos calls “live coding” for a lot of features, it would be great if they could implement that for c++, maybe with the help of .net libraries.
Then later on you would properly compile/build the working finished product with your favorite/required IDE.

I don’t know though, these are just ideas over the top of my head. I’m still hoping for a dev environment that will have the best of what the other engines offer, but still be cocos at the core.

On a side note I wouldn’t mind them forcing us to use certain tools, if that meant having excellent features to go with them.
Like i mentioned, mono develop for Unity, it “can’t compete” with VS, but it gets the job done, and ‘just works’ with the editor.

Unity works on a very different principle and uses Mono (soon to be official non-MS .NET implementation) to provide on the fly compilation and run-time environment. Its a completely different architecture. Your original post stated to use Cocoa Studio for everything, which is all I’m speaking to.

Cocos2dx is, I concede as an Android fan, cross platform. Android is cross device and I find it a great benefit to be able to divide my builds into x86 and ARM at the touch of a button with AS. It is no less C++ capable than Eclipse which was rather a basic IDE relying on NDK for error reporting unless you have the cocos2dx build_native.py working (I tried C++ without cocos and there are benefits to just running the NDK-build without the python script). I just need to build experience with it and I would do so by getting rid of my multiple Android Java environments with conflicting SDK paths. Then just start using the cocos console commands where NDK-build was working to build C++. Hope the errors are as readable (not very :frowning: ) as ndk-build and figure out (copy) how to get the .so's their own little library in my AS project which just isn’t going to happen trying to import my old Eclipse projects. I’ll need to start from a fresh Java project.

That’s the plan.

But if Google stop developing the ADT tools then I’ll have a pretty stable final version of that to play with for ever more :smile:

Can’t empahisize enough how pants Eclipse is for Java based Android dev in comparison. Can’t empahisize enough how pants Android Studio is for C++ Android dev and reusing other libraries, something I’ve only just become comfortable with in Eclipse…

According to this link SO Android Studio supports NDK. But i didnt try it yet.

Plus, i was looking where to download Eclipse ADT bundle, but i cant find it anymore. It seems that Google erased it from internet with releasing of Android Studio.

Edit, now i found some Eclipse, so may be i will manage it.

Anyway, i am curious about the future of Cocos vs AS. Cant say how much depends on concrete IDE or not.

Found this tutorial on how to “convert your Cocos2D-X Android Eclipse ADT game project into Android Studio project” Convert Android Eclipse ADT game project into Android Studio project

I plan to step through it soon. I’ll try to update this post if any significant issues arise…

1 Like

Looking forward to the progress made by you!