Nice to see a new project created with 3.10 creates what looks to be a project for Android Studio. How should I open it from within Android Studio, and do I have to do anything more to make it compile and run?
thanks
Nice to see a new project created with 3.10 creates what looks to be a project for Android Studio. How should I open it from within Android Studio, and do I have to do anything more to make it compile and run?
thanks
just watch this video and you are set:
or read this brief explanation of the steps required:
1)- download android studio the full version
2)- create a cocos2d-x project
3)- compile it from the terminal with this command
if you create an ARM virtual machine use this command(not recommended, its slow)
cocos compile -p android --android-studio
if you create a x86 virtual machine use this command(recommended, its fast):
cocos compile -p android --android-studio --app-abi x86
4)- import the file “proj.android-studio” into android-studio
5)- create an android virtual machine(x86 or ARM)
6)- run the android virtual machine
7)- run the project from within android-studio
PS: you should read my comment in this post on how to automate the compilation process so you don’t have to type the command in the command line every time you wanna compile:
PS: remember google is your friend!
This is an excellent reply. Thank you! I’m still having issues running my game on a device from Android Studio. After following your instructions, and pressing the ‘Run’ button in AS, I get the error:
java.lang.UnsatisfiedLinkError: Couldn't load cocos2dlua from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.upstartillustration.GameKit-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.upstartillustration.GameKit-1, /vendor/lib, /system/lib]]]: findLibrary returned null
Android Studio: v1.5.1
Cocos2d-x: v3.10
NDK: r10d
Any help would be appreciated. It looks like all I need to do is figure out why it’s not able to find the cocos2dlua
binary.
I’m starting to think the --android-studio
option doesn’t do anything. When I attempt to run cocos run
, instead of cocos compile
, it runs on the device with no issues. The problem is, it’s not executing the code in the proj.android-studio
folder. For instance, I modified the AppActivity.java
class inside the proj.android-studio/app/src/org/cocos2dx/lua/AppActivity.java
and it didn’t run the Log.d
command I was using to test if it was running the code. It only compiles and moves the APK to the runtime-src/simulator
directory. Also, I see that the settings.gradle
file is configured to load the libcocos2dx
module, but I don’t see where it would ever attempt to find the cocos2dlua
library… as there isn’t anything with that name anywhere in the build directories.
The main differences I see with my environment, compared to the video, is that he’s running cocos compile
from the base directory. I must run the script from frameworks/runtime-src
or it says that the ‘android’ platform is not supported. Only ‘mac’ and ‘ios’. I’m at a loss. Any help would be appreciated.
I think I may have figured it out. When I first created the project it failed to create a .cocos-project.json
. I needed to add a key/value pair in the .cocos-project.json
file to ensure it was using Android Studio.
This is what my config file looks like now:
{
"has_native": true,
"project_type": "lua",
"android_cfg": {
"project_path": "proj.android",
"studio_proj_path": "proj.android-studio"
}
}
It now builds OK. I’ll know in a while if all is well.
Update
Works great now!
I have issued the following command and apk is generated.
cocos compile -p android --android-studio --app-abi x86
But it is not running on x86 AVD. Could you please tell me how to fix?
This topic is temporarily closed due to a large number of community flags
Hello Joseph39,
Thanks for your guide. It really kool. I follow it and build my app successfully.
But i have one more question. When build so with command:
cocos compile -p android --android-studio
This seem debug mode. How we build in release mode?
Regrads,
Tai Hai
Hello,
I found the answer is: cocos compile -p android -m release --android-studio.
Have a nice day.
I get error
/Users/johnzakharov/Desktop/cocos2d/naOptovke/cocos2d/cocos/platform/android/jni/TouchesJni.cpp:47: error: undefined reference to ‘__cxa_throw_bad_array_length’
/Users/johnzakharov/Desktop/cocos2d/naOptovke/cocos2d/cocos/platform/android/jni/TouchesJni.cpp:48: error: undefined reference to ‘__cxa_throw_bad_array_length’
/Users/johnzakharov/Desktop/cocos2d/naOptovke/cocos2d/cocos/platform/android/jni/TouchesJni.cpp:49: error: undefined reference to ‘__cxa_throw_bad_array_length’
/Users/johnzakharov/Desktop/cocos2d/naOptovke/cocos2d/cocos/platform/android/jni/TouchesJni.cpp:55: error: undefined reference to ‘__cxa_throw_bad_array_length’
collect2: error: ld returned 1 exit status
make: *** [obj/local/armeabi/libMyGame.so] Error 1
make: Leaving directory `/Users/johnzakharov/Desktop/cocos2d/naOptovke/proj.android-studio/app’