Android Studio support

Argh… now I switched back to ndk14, recreate project and again it complains about not finding symbols :wink:
It’s obviously some Android Studio/ndk problem.

Thanks for your help. I’ll upgrade to AS 2.4 preview 2 in hope that they already fixed it. Will let you know.

Android Studio 2.4 Preview 3 works way better (ctrl-click, debugging). No more ndk13b hacking.

@zhangxm HI. My steps:

  1. git clone -b v3.15 --single-branch https://github.com/cocos2d/cocos2d-x.git
    ( Latest commit 6b7e5d6 6 hours ago )

  2. python download-deps.py
    2.5) git submodule update --init
    3)cocos -v cocos2d-x-3.15 Cocos Console 2.3

4)cocos new TestGame -p com.Effolkronium.TestGame -l cpp -d C:\dev\projects\

5)open Android Studio

6)open an existing Android Studio project with path C:\dev\projects\TestGame\proj.android-studio

7)Press ‘make project’ button

and… OMG it works!.

BUT now i can’t see cpp code in classes dir. How to edit and debug CPP code?

1 Like

Your c++ files should be under TestGame/cpp/MyGame/TestGame/Classes.
To debug, just set a breakpoint (Ctrl+F8) and start debugging (button with play arrow over a bug).

Set ABI in graddle.properties (i.e x86 if you will be running the app in the emulator). Also uncoment the line org.gradle.jvmargs in the same file to speed up gradle.

@Effolkronium there is cpp icon in your pasted picture. Can’t expand it to see c++ files?

@zhangxm,hi, i thought there only static and shared libs. But now i can see source files, Thanks for answering :heart:

@samo_dadela thank you too :heart:

and next question, is: How to enable cpp code autocompletion ?

@Effolkronium

Android studio 2.3: you have to use ndk-r13b because of a bug in Android Studio. So you replace ndk-bundle dir (it’s under your sdk dir) with the contents of ndk-13b.

The easiest option, though is to use Android Studio 2.4 preview 3 which has the bug fixed. See my posts above. Link: https://developer.android.com/studio/preview/index.html. This is if you don’t mind using beta.

Note that if you previously used the buggy version of Android Studio it’s best to create a new project (using cocos new)… it seems some previously generated build files under your project directory cause problems.

3 Likes

@samo_dadela, @zhangxm, hi, i have solve problem with red code in Android Studio!!!

Just replace in Android.mk this:

LOCAL_SRC_FILES := hellocpp/main.cpp \
                  ../../../Classes/AppDelegate.cpp \
                  ../../../Classes/HelloWorldScene.cpp

by this:

LOCAL_SRC_FILES := $(LOCAL_PATH)/hellocpp/main.cpp \
                   $(LOCAL_PATH)/../../../Classes/AppDelegate.cpp \
                   $(LOCAL_PATH)/../../../Classes/HelloWorldScene.cpp

AND ALL WILL BE WORK FINE

i’ll create PL

1 Like

Just followed Effolkronium Steps, used NDK-r13b like samo_dadela wrote and updated Android.mk like Effolkronium did! Works so far…! I can Build, edit and launch app from Android Studio. BUT…

I noticed a strange behaviour… I can install APK just once. After editing code the APK installation fails with the error message “java.io.IOException: Connection was closed from Remotehost… Error while Installing APK”.

In the “Android Monitor” Window I can see that the connected Device goes offline while installing APK!

EDIT:
Only solution for now is to restart ADB manually. :expressionless:

I think, cocos2d-x require full rewriting for code\scripts\makefiles of projects building.

@Effolkronium @MuratAlbayrak I have not idea with your issues. It may be a bug of Android Studio. I don’t meet the problem as you said.

1 Like

Maybe it’s because of Android Studio. I don’t know.
I’ve unistalled it. cleaned up. updated java, ant etc. installed Android Studio 2.3 after reboot. same result. Tried it with Android Studio 2.4 Preview but no success!

I’m new to Android Studio with NDK! Maybe I’m doing something wrong. I don’t know. (Just follwed the steps above)
Android Studio still installs my other Java Apps. For now this is my Result.

Heads up:
Spent some time with Android Studio 2.4 Preview 3 - this is really beta quality, crashes a lot.
The alternative is to use AS 2.3 with ndk-r13b.

1 Like

That is so weird. it was a issue of my USB-Cable. Android Studio seems to dislike my USB-Cable :smiley:
The Cable works fine with Eclipse, xCode even VisualStudio on Windows… but not with Android Studio.
A few day ago I bought a new USB-Cable and it works flawless. I can compile and run my Games without any problems (everytime). Thanks @zhangxm.

hi - just updated Android Studio to 2.3.1 and cocos to 3.15

I was previously doing -

cocos compile -p android --android-studio --ap android-19 --ndk-mode debug

But i guess that’s all broken/gone now? AS is giving me - Could not get unknown property 'PROP_TARGET_SDK_VERSION

What should I do with my existing and previously working project to get it building again with AS?

:frowning:

thanks :slight_smile:

Did u created new project with 3.15 ? as this variable located in gradle.properties file under project - by some reason it not there…

1 Like

No, it’s an older project. I created a test project and copied the cocos2d folder into the old project, as I usually do…

that why it didnt worked - u replaced cocos2d folder inside it located new build.gradle for cocos2dx core where was changed little syntax for TARGET_SDK before it was like TARGET_SDK: 22 and in 3.15 it is TARGET_SDK: PROP_TARGET_SDK_VERSION.

PROP_TARGET_SDK_VERSION definition is located in android-studio project folder , but as u using old version u missing this setup there - so create new project in 3.15 open it in android studio and check gradle config files what was changed there or manually change in cocos2d folder that gradle file to old one where is not used this variable - or just replace it by number.

1 Like

Thank you! That info solved my problem :slight_smile: :slight_smile:

I created Sample game using Cocos2dx 3.15 and it’s running fine in studio. I’m able to compile, run and debug as well. But my problem is after I copied all my classes, resources from my other project (it’s running fine another system) and updated Android.mk file according to that. Now I’m not able to build from Android Studio. and in External Build Files Application.mk file also not showing.