cocos2d-x-2.2.5 setup guide

thank you for replying my thread, @siddharthshekar

but when I create new project it didn’t tell me where they put the folder project.
it is empty in folder project-creator

your myTest folder will be in cocos2d-x-2.2.5/projects folder

oh you’re right. just found it.
should I convert it into C/C++ Project in Eclipse???
like in this tutorial:

or I can code directly in folder Classes?

never mind. If no one knows, might be no one ever tried it in this version.

when import project to new updated Eclipse ADT from google.
it asked for “bash” and it doesn’t found in path.

@gOzaru It is not required to convert the project to c++

[edit]:for bash I guess cygwin is required. Install cygwin and you would have to add it’s root in enviroment variables as here. [android] can not run the engine for example simpleGame

thank you for helping me, @siddharthshekar.
so no need to convert project to c++? I see. thank you for your info.
I would install cygwin right away.
thank you, thank you.

No probs.

When you come to the select packages window on cygwin, in earch above type make and then open Devel and click the GNU version of make utility so that it changes from skip to keep and then click next and then install the rest. Just installing cygwin wont do the trick you have to do the above.

ok, thank you @siddharthshekar

1 Like

Holy smokes thanks for creating this thread!!! I am stuck using the v2.2.5 build until more devices are supported. I am pulling my hair looking for install documentation. There is a severe lack of historical 2.2.5 setup docs.

Is there anyway to roll back the documentation to what was present at the last update of 2.2.5? Did something ship with the download and I just haven’t found it?

I just stumbled across this trying to figure out how to make an x86 Android build, but it has a lot of what was mentioned before hand too.

Its listed in the deprecated documentation area on the html nav element on the displayed page.
http://www.cocos2d-x.org/wiki/How_to_create_a_multi-platform_project_in_one_command_line

I am not certain 100% if all of this applies to v2.2.5 yet.

Ok I found the history feature in the wiki. I have a window floating in the upper right hand side of my screen that hid this from my view.
http://www.cocos2d-x.org/wiki/Cocos2d-x/history
I haven’t figured out the dates to view yet. I’ll update this when I do.

Hey Orionnoir, if you are still looking, x86 builds are pretty simple to do, see this

1 Like

There needs to be separate documentation for 2.2.x and 3.x.

1 Like

I can’t agree more. I’ll share whatever I can on the topic. My only reference is a book covers 2.0.x and there is much different approaches in regards to setup. 2.2.5 feels like it is caught between the original 2.0 and 3.0 in regards to setup. I can see the cleaner projects, vision, and better scripts forming. But I have to kind of figure out how it works in this in between state. I am putting it together piece by piece. I can compile, and push to device, it wont run (missing a library still.) But I am slogging through the errors. Its taken some time. Going to 3.0 is a bridge too far this time or I would just go all the way.

Thanks for all the support!!! You guys are great. I hope I am not being to much of a pest. :wink:

The README.md in the created projects folder is clearer now except for what target to use (step 6? wth is step 6, so I think that is likely a left over bit from older docs.)

What version of the NDK was this tested with? I found myself using 10b (64bit) I got the 32 bit versions (non beta) to try out. Should I not use latest? Did I miss this requirement somewhere? To get the HelloWorld sample app to run (well run into the current error I am having with all projects) I had to combine the 32 bit and overlay/overwrite with the 64 bit version. This is because of the “android-L” headers? I don’t know anything about this so I wont pretend too, but “rand()” was missing of all things. Soooo that fixed that issue. (here was where I found the hint)

For the morbidly curious this is the current error I am working through:
09-17 14:54:49.010: E/AndroidRuntime(25032): java.lang.UnsatisfiedLinkError: Couldn’t load testcpp from loader dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/org.cocos2dx.testcpp-1.apk”],nativeLibraryDirectories=[/data/app-lib/org.cocos2dx.testcpp-1, /vendor/lib, /system/lib]]]: findLibrary returned null

If you know what causes this let me know. I am looking at what files got stuck where on the device… but there is a voice in the back of mind that says I shouldn’t have to if everything was configured right!

I seriously think I have something horribly wrong in my setup. I am going to to just start over. or try on other machines/devices. it simply can’t be this hard…

Well there seems to be a documentation, but that is only API reference. No tutorials that show actual usage of the code snippets. Like how to create a project, use tilemaps, etc.

1 Like

Using ADB I have ascertained that /data/data/org.cocos2dx.hellocpp/lib/libhellocpp.so does not exist on device after running “ant debug install” and all the samples fail this way now as does my created projects. so I am focusing there. Clearly a case of “I am missing something, but I don’t have a clue where” scenario. An app shows up in the application list on device, but I presume it is failing because it can’t find the expected files.

From within the ADB shell:

    1|root@android:/ # ls /data/data/org.cocos2dx.hellocpp                     
    /data/data/org.cocos2dx.hellocpp: No such file or directory

Thanks for everyones support on this. You guys have been if anything encouraging me to continue running myself at the wall. I will break through. It is what I do. :wink:

UPDATE:
Well I scrubbed every line of the output from ant debug install and I noticed this little message:

debug:

install:
     [echo] Installing /Users/hunter/Appsomniacs/cocos2d/cocos2d-x-2.2.5/samples/Cpp/TestCpp/proj.android/bin/TestsDemo-debug.apk onto default emulator or device...
     [exec] 3874 KB/s (88110811 bytes in 22.210s)
     [exec] 	pkg: /data/local/tmp/TestsDemo-debug.apk
     [exec] Failure [INSTALL_FAILED_CONTAINER_ERROR]

So I suspect INSTALL_FAILED_CONTAINER_ERROR is bad?

UPDATE 2:
I finally just started over followed the README.md for Eclipse to the ‘T’
I got the same errors. (I noticed a warning in eclipse about not being able to find an include directory in the NDK. The only thing in NDK_ROOT/platforms/ folder was ‘android-L’. I had read about this somewhere.

I rolled back to use NDK 10 (32 bit):
I got a compile error about missing ‘rand()’ again, in the past I had put in the 32 bit version and copied over the 64 bit version replacing anything and that worked. but I didn’t want to spend the time, so I don’t know if that would solve the issue.

I rolled back to NDK 9d
It worked for HelloCPP

Bottom line, the terse README.md that is in every created project has the steps (I will try the command line later, as I prefer it at times, but I got the same errors in eclipse as command line. just remember to clean if you use eclipse and go command line to remove the ‘crunch’ directory.)

I am not out of the woods yet, but with the basics working then I can get this into the shape the team wants (in a different folder structure external to cocos2d, etc.)

if you’ve read this far. Good on you. you’ve got stamina. I hope this helps someone int he future. Or if starting new go check out v3.x+ first.

tl:dr 2.2.5 setup summary of the solution that worked for me (gory details of failures are in previous posts in this thread.)

1) Get the cocos2d-x 2.2.5 download and unpack it somewhere, same with the ADT tools (the android SDK and Eclipse)

2) Use ndk 9d (ensure that your target platform is present(e.g., as 9/18/2014 10b only has ‘android-L’ as a valid target. Put of the box I was targeting android-8 [i.e. Android 2.2])

3) use the existing projects (helloworldCpp and TestCpp) or create a project using the supplied python script the {cocos2d_root}/tools/project-creator directory:
user$ python create_project.py -project AppTest -package com.appsomniacs.test -language cpp

4) follow the instructions in the README.md that every new project has in it’s {project root}/proj.android folder that is made with create_project.py

5) Profit.

NOTE: If you get the following error…

../../../..//extensions/CocoStudio/Reader/WidgetReader/LabelReader/LabelReader.cpp:54:9: error: 'transform' is not a member of 'std'
make: *** [obj/local/armeabi/objs/cocos_extension_static/CocoStudio/Reader/WidgetReader/LabelReader/LabelReader.o] Error 1

add:

#include <algorithm>

to {cocos2d-x-2.2.5 root}/extensions/CocoStudio/Reader/WidgetReader/LabelReader/LabelReader.cpp
I think this is just missing from the 2.2.5 distro as noted in this answered question: http://stackoverflow.com/questions/24848923/error-after-building-a-testcpp-eclipse-project

If you use the latest from git i am not sure if this is fixed in their yet, but there has been a lot of activity there too.

@GMTDev thanks for the reminder about HAXM. I had accidentally picked an x86 supported target to build to device (which happened to be x86) but was quickly reminded that not all simulator images are the same when I tried to build to the simulator without getting and x86 supported target!

this is link to download Android NDK r9d:
https://drive.google.com/file/d/0B9Cf3noETTlrVEFtaF9LUjFhT00/edit?usp=sharing

1 Like

Could somebody tell me which version of cocos studio files will work with cocos2d-x-2.2.5?
I’ve been trying to load the files exported by cocosstudiov1.0 beta (MAC) but it keeps crashing because format is not what the reader is expecting.