下载了最新版的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. jQuery给同一个元素两个点击事件

    $(".course-form .course-start img").each(function(i) { $(this).toggle(function(){ $(this). ...

  2. C#入门篇6-5:字符串操作 测试StringBuilder的运行效率

    //测试StringBuilder的运行效率 public static void Fun2() { #region string string str = "我喜欢编程!"; / ...

  3. VBA解密

    1.关闭要解密的excel文件,新建一个excel文件 2.打开新建的这个Excel,按下alt+F11,打开vb界面,新建一个模块,如图所示 3.将代码复制到这个模块中,代码如下:Private S ...

  4. 网页优化URI(http URI scheme与data URI scheme)

    网页优化的一大首要任务是减少HTTP 请求 (http request) 的次数,例如通过合并多个JS文件,合并CSS样式文件.除此之外,还有一个data URL 的密技,让我们直接把图像的内容崁入网 ...

  5. Android 4.3正式发布:四大新功能一览

    在旧金山举行的新品发布会上,Google正式发布了Android 4.3,代号仍为“Jelly Bean”.此次更新并没有太大改变,只是紧跟4.1.4.2步伐, 新增了低功耗蓝牙.多用户登录等一系列功 ...

  6. bzoj 2243: [SDOI2011]染色

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

  7. jquery 取的单选按钮组的值

    <input type=”radio” name=”wholesale_one” id=”wholesale_one” value=”1″ />1箱起批<input type=”ra ...

  8. hibernate框架

    在之前的DAO开发中,对关系型数据库进行增删改查都是直接通过sql语句,需要人工的进行对象和表之间的转换.而Hibernate提供了对象和表之间进行映射的框架,使得这种转换更加方便. 1.ORM概念 ...

  9. 基于MVC的应用框架之Struts前奏

    1.JSP&Servlet中的MVC MVC的关键是,业务逻辑要与表示分离.通过把业务逻辑放在一个“模型”中,这样业务逻辑本身就能作为一个可重用的JAVA类存在. 在JSP&Servl ...

  10. JVM-内存分配与回收策略

    简单介绍一下Java技术体系下的Java虚拟机内存分配与回收策略.  1.对象优先在Eden分配  大多数情况下,对象在新生代Eden区中分分配.当Eden区已没有足够空间进行分配时,虚拟机将发起一次 ...