android studio 2.3.3编译cocos2d-x 3.15.1

============以下内容仅适用于2017.7.3号本文完成时==============版本变更带来的问题,得看我以后还在使用与否===================




如题,搞了2天啊!内牛满面!各种问题~网上的回答大都过期~最终成功实现编译并且真机断点调试成功!
各种怀疑ant 各种怀疑sdk版本 各种怀疑ndk版本,各种安装N遍,各种设置。。


1.首先下android studio
https://developer.android.com/studio/index.html


2.进行安装。把Android sdk选上,其实不选也可以,但是,还是用它的,因为不是sdk的问题。各位看官选不选请随意。


3.打开https://services.gradle.org/distributions/ 下载一个当前Android studio 使用的gradle回来,当前它需求的是gradle3.3-all,别问我为什么知道,因为第四步的gradle-wrapper.properties有。否则它会卡启动界面老久,原因?你懂得~


下回来以后,放到C:\Program Files\Android\Android Studio\gradle 去解压。如果你的android studio 安装目录不是这个C:\Program Files\Android\Android Studio,请自求多福。别怪我误导你。


4.打开android studio 新建一个简单示例工程,然后等待gradle sync 以及各种。等2分钟吧,大概你不会成功的。。除非你会FQ,略略略。。,OK 关闭这个半天不动的工程。不要问为什么要做这个步骤。




5.打开C:\Users\[你的用户名]\.gradle\wrapper\dists\gradle-3.3-all\【一大串乱码文件夹】  把你的gradle3.3-all.zip放这里。


6.重新打开刚才的简单工程,File-Settings -Build, Exection,Deploymen-Gradle 设置如图1. 好了 现在可以build apk 以及各种了。理论上应该没问题。这时候表示Android studio准备就绪。(想太多)


====================================接下来是cocos2d-x相关的========================================
下载解压cocos3.15.1. 去到python官网下个python2回来,请注意,是python2.为嘛要下?自然是为了命令行创建工程。
下回来以后,将python的bin目录加入系统环境变量Path中。直到cmd中打 python 识别为止。


1.运行X:\cocos3.15.1\setup.py。什么adk目录 ndk目录 你心情好就好好填。。因为这是命令行编译用的。咱从此不用命令行,反正我无视。


2.创建项目例如 cocos new XCutApp -p org.xxxxxx.xcut -l cpp -d d:\cocos-project


3.打开Android studio 。如果已打开,请用File - Close Poject. 然后选倒数第二个,Import Project。注意,是倒数第二个,不是正数第二个!!!!!orz。
完成后会是如下截图:


根据提示安装好缺失的BuildTools 和platforms。当前需求25.0.0 sdk是Android-22.当然,你也可以改gradle的compiled sdk version 或者你打开File -project struecture-选中你的项目,手动修改。


4.提示ndk缺失,则点download ndk。本人下了若干个ndk,测试了各种命令行sdk 和ndk的配合编译之后,得出如此结论,cocos可以支持最新版ndk!--又是一大把时间过去了。
或者你有ndk,可以File -project struecture- SDK location 设定最后个项-即ndk的目录。


5.OK gradl了半天,没有问题,开始编译,过了若干分钟,失败!--不要慌,看gradle console Messages Event log 以后这三个窗口要会看~~~问题如下:
bzero不认识,打开文件 改成memset的用法解决。 还有个小问题,open不认识 read不认识,打开文件位置 加上#include <unistd.h>  


6.好了,编译运行debug吧!不需要改什么hybird 现在你要找hibird都找不到。 jniDebugable = true也不用。本人亲自打开XXXX.mk 观察过,NDK_DEBUG = 1时,脚本会自己帮你干好这种事。可能原生c++工程需要,我不知道。。。
debug毫无问题。


7.根据提示,安装LLDB.反正缺啥补啥。。


=================================================================================
乍看没什么坑,你怎么用了2天才解决问题?
呵呵呵呵。。。中间的曲折就不说了。。。。
https://github.com/fusijie/cocos-Resource#cocos2d-x-%E4%B8%8E-ndk-%E7%89%88%E6%9C%AC%E5%AF%B9%E5%BA%94%E5%85%B3%E7%B3%BB
这网页我都去看了 你说呢?每一步,我都重复过若干次,尝试N种组合,比如sdk安装与否。。比如什么 firstrun = true。。。呵呵。
尤其是 Gradle Sync Failed。。你跟谁讲道理去?怎么干都不行 都不行 都不行。。代理我都用上了。。。搞了一天,毫无存进。。。。
结果就是,现在我的网页收藏夹多了大约十多个url。。。。各种奇怪的错误提示。。各种问题。。
http://discuss.cocos2d-x.org/t/cocos2d-x-android-studio-ndk-build-c-debug-works/34789/13 老外就很顺利。我是看老外这么顺利我才进的坑,否则以前都是windows编译好,然后发布到真机直接运行
哪有神马真机调试。。当然,vs2015听说一样可以真机调试Android。但是,既然cocos有Android studio项目文件夹,为何抱着vs和万年Eclipse不放?
而且sdk25.3以后,不再支持Eclipse工程 命令行编译了。。听讲开发组正在解决这个问题。。反正你如果要用,出来的Warning Ignore unknow XXXXXXX Diectiory.导致的问题,我也是郁闷了至少一个小时。。。。


OK,开始做业务逻辑。。。真机发布运行调试,如同vs。。。爽歪歪。。编辑修改,补个真相图。






听说真机调试需要安卓4.2以上,并且有root权限。。管他的,反正我的可以调。。哈哈

老外说要调到断点里面 需要设置debug configuration的什么符号表位置。

D:\2DProject\XCutApp\proj.android-studio\app\build\intermediates\ndkBuild\debug\obj\local\armeabi 其实不用,咱是源码级,Android studio不可能这么傻,中间文件放哪都不知道。。



猜你喜欢

转载自blog.csdn.net/glunoy/article/details/74208047
今日推荐