下载了最新版的cocos v2.1.2beta,使用cocos.exe来创建项目,而且在最下方的附件功能里还勾选了“支持x86架构cpu”这个选项,导致使用build_native.py编译不通过,以及cocos.py也compile不通过;提示android.mk的19行prebuilt-mk报错:***ANDROID NDK aborting,

 之后尝试做了几处改动——添加了NDK_MODULE_PATH环境变量、使用了的从cocos下载的ndk版本\看网上别人的解释,prebult-mk报错是因为这个路径下更本链接不到我装在c盘的cocosframework, 于是按照别人说的拷贝了C:\Cocos\frameworks\cocos2d-x-3.4rc1这个目录到我自己项目的根目录,并且更名为cocos2d,android.mk里添加
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/external)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos),依然有问题,可能是这些改动使得cocos.py的compile可以通过了,看到的build success之类的提示,但仍然无法在eclipse编译出apk或者使用cocos.py 可以run出来apk但也运行不起来;
 
 
再一次的尝试,想到了以前2.x时代创建项目的办法,于是使用cocos.py的new命令来创建项目, 居然成功了,而且不仅使用cocos.py compile成功,直接eclipse在clean时就会自动使用build_native.py编译出libcocos2dcpp.so这个动态库文件,貌似是因为使用的最新的ndk导致可以这样(不管怎样,cygwin是可以彻底卸载了);
 
我不甘心,再次使用cocos.exe创建项目(不勾选支持x86架构cpu),也成功运行起来了,但我感觉脑子乱掉了,之前应该有这样操作过怎么就是不行现在又行了;
 
难道问题的关键在于使用了cocos.py的new命令之后做了某种cocos.exe创建项目时做不到的事情,以至于接下来使用cocos.exe创建的项目也ok? 同时也说明无需拷贝cocos2d的framework到自己项目,也无需添加$(call import-add-path,$(LOCAL_PATH)/../../cocos2d)这三行,默认创建好的项目是可以读取到framework路径的;
 
好吧懒得去理清之前错误的原因了,能跑起来就可以,把过程记录下来,总算可以开开心心的做项目了。
 

win7下cocos v2.1 android项目总结:

 

1,cocosv2.1下载安装;

 

2,java sdk下载安装,

  新建环境变量JAVA_HOME:C:\Program Files\Java\jdk1.8.0_31,
  新建环境变量CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
  找到Path变量,新增:%JAVA_HOME%;
 
在cmd终端里输入java -version 回车看到类似1.8.0_31说明java环境ok了
 

3,android sdk,

  在百度网盘里下载到了包含了所有的到最新的android版本的adt-bundle-windows-x86_64-20140702.zip,有8.59G,你也可以下载个空的adt bundle然后打开sdk manager来选择下载你需要的android sdk,不过记得要更改下载服务器路径选择国内的,google无法链接的你懂的
  新增环境变量ANDROID_SDK:E:\adt-bundle-windows-x86_64-20140702\sdk\platforms;E:\adt-bundle-windows-x86_64-20140702\sdk\platform-tools;E:\adt-bundle-windows-x86_64-20140702\sdk\tools;
  新增环境变量ANDROID_SDK_ROOT:E:\adt-bundle-windows-x86_64-20140702\sdk
  找到Path变量,新增:%ANDROID_SDK%;
 
在cmd终端里输入adb -h看到Android Debug Bridge version 1.0.32类似的语句说明android sdk环境ok了。
 

4,android ndk,

  直接在cocos商店下载当前版本时android-ndk-r10d,
  新增环境变量NDK_ROOT:E:\android-ndk-r10d;
  新增环境变量NDK_MODULE_PATH:C:\Cocos\frameworks\cocos2d-x-3.4rc1;C:\Cocos\frameworks\cocos2d-x-3.4rc1\external;C:\Cocos\frameworks\cocos2d-x-3.4rc1\cocos;
 
  在eclipse 里右键项目属性-->C/C++ Build-->Environment 里新增 NDK_MODULE_PATH:
内容:D:\android-ndk-r10d;D:/cocos2d-x-2.2.6;D:/cocos2d-x-2.2.6/cocos2dx/platform/third_party/android/prebuilt  (注意路径,这里是随便写的2.2.6)
 
最后,使用cocos.exe创建项目,如果你的android手机cpu不是x86架构的那么不要勾选下面的“支持x86架构cpu”,如果有问题,可以尝试使用cocos.py来new一个项目,vs2013跑起来没问题之后,就可打开eclipse来调试android了。
推荐使用cocos.py的compile命令,放弃使用build_native.py(eclipse clean和运行时也会自动调用build_native.py),直接删掉当前项目的build_native.py好了,或者你有精力的话可以去改一下这个build_native.py不要一运行就编译,因为目前版本我发现只要一clean或者运行时都会自动删掉libs/armeabi里的所有文件,当你的项目需要用到第三方sdk的.so文件的话,这里就会总被删掉而出问题了,所以推荐使用cocos.py的compile,细心的话你会在运行build_native.py时发现cocos官方也说了这么一句话:“We will remove this script next version,you should use cocos console to build android project.”。
其实cocos.py的run可以直接compile出apk文件并且在连接的手机上跑起来。
 

cocos引擎v2.1版本android 编译问题解决办法 (cocos2d-x-3.4rc1)的更多相关文章

  1. mac下搭建cocos2d-x2.2.1版本android编译环境教程

    首先我们先以引擎2.2.1为例子来新建一个TestJni的项目,来作为测试例. 创建方式如下: python create_project.py -project TestJni -package o ...

  2. android 编译问题解决

    1.android4.2.2 '/root/origin_android/mokesoures/out/target/common/obj/APPS/ApplicationsProvider_inte ...

  3. selenium 自动化测试 Chrome 大于 63 版本 不能重定向问题解决办法

    Chrome 一些信息: Chrome 63 以后,浏览器默认屏蔽了重定向 Chrome 63 版本,设置了禁止更新,有些情况还是会更新到最新版本 解决过程: 在博客上查到  selenium 里 给 ...

  4. MySQL5.7版本sql_mode=only_full_group_by问题解决办法

    原因分析:MySQL5.7版本默认设置了 mysql sql_mode = only_full_group_by 属性,导致报错. 1.查看sql_mode SELECT @@sql_mode; 2. ...

  5. cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程)

    链接地址:http://www.cocoachina.com/bbs/read.php?tid=333937 cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程 ...

  6. 使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码

    前段时间Cocos2d-x更新了一个Cocos引擎,这是一个集合源码,IDE,Studio这一家老小的整合包,我们可以使用这个Cocos引擎来创建我们的项目. 在Cocos2d-x被整合到Cocos引 ...

  7. Cocos2d-x3.6 Android编译问题

    在Cocod2d-x论坛上看到越来越多人吐槽新版本更新太快,改动太大,而且经常有BUG导致升级要折腾很久很久..但我就是喜欢折腾,喜欢升级到最新版本,看看有了哪些新功能,哪些改进.为此也折腾了不少,遇 ...

  8. Cocos2d-x3.3RC0的Android编译Activity启动流程分析

    本文将从引擎源代码Jni分析Cocos2d-x3.3RC0的Android Activity的启动流程,以下是具体分析. 1.引擎源代码Jni.部分Java层和C++层代码分析 watermark/2 ...

  9. 【内核】linux2.6版本内核编译配置选项(二)

    目录 Linux2.6版本内核编译配置选项(一):http://infohacker.blog.51cto.com/6751239/1203633 Linux2.6版本内核编译配置选项(二):http ...

随机推荐

  1. BZOJ2490 Zombie’s Treasure Chest

    如果n = lcm(s1, s2),那么就可以直接得到maxV = (v / s1 * v1, v / s2 *v2) 然后还剩下一点体积我们暴力枚举用s1的量,让s1为max(s1, s2)可以减少 ...

  2. 你所知道的Java单例模式并不是单例模式

    当我们搜索单例模式的时候,能看到很多例子,什么懒汉式.饿汉式,大概如下: public class Singleton { private static Singleton instance=null ...

  3. FZU 2027 单词问题 map标记字符串典型问题

    题目链接:单词问题 找一个字符串里的所有单词,重复的只输出一次.关于map函数key值是字符串的问题一直比较含糊... 挣扎了一番,大概是,map的key值是char型数组的时候,标记的是地址,于是有 ...

  4. js基础之ajax

    必须搞懂的几个问题: 1.如何创建ajax对象? 2.如何连接服务器? 3.如何发送请求? 4.监控请求状态的事件是什么?分几个阶段?如何获取返回值? 答:onreadystatechange事件:一 ...

  5. bzoj 2243: [SDOI2011]染色

    #include<cstdio> #include<iostream> #define M 1000006 #define N 1000006 using namespace ...

  6. ubuntu 12.04安装TP-LINK TL-WN725N v2

    用了一个上午,折腾完毕,分享如下. 1.先试了ndiswrapper和compat-wireless,各种不给力.后来看这篇博文<Ubuntu12.04下安装TL-WN322G+无线网卡驱动(R ...

  7. Problem C HDU 5224

    Description There is a piece of paper in front of Tom, its length and width are integer. Tom knows t ...

  8. Problem A CodeForces 556A

    Description Andrewid the Android is a galaxy-famous detective. In his free time he likes to think ab ...

  9. hdu 1035 (usage of sentinel, proper utilization of switch and goto to make code neat) 分类: hdoj 2015-06-16 12:33 28人阅读 评论(0) 收藏

    as Scott Meyers said in his book Effective STL, "My advice on choosing among the sorting algori ...

  10. Memcache 详解

    这里收集了经常被问到的关于memcached的问题 一般的问题 什么是memcached? 从哪获得memcached? 怎么安装memcached? 哪些平台可以运行memcached? 什么情况下 ...