下载了最新版的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. mysql启动错误

    1.启动时,显示ERROR tail localhost.localdomain.err 错误日志 2.新增目录,启动成功

  2. 绑定本地Service并与之通信-----之二

    import android.os.Bundle;import android.os.IBinder;import android.app.Activity;import android.app.Se ...

  3. 完美实现自己的GetProcAddress函数(转载)

    我们知道kernel32.dll里有一个GetProcAddress函数,可以找到模块中的函数地址,函数原型是这样的: WINBASEAPI FARPROC WINAPI GetProcAddress ...

  4. Windows7下U盘安装Ubuntu14.04双系统

    1.准备工作 (1)下载Ubuntu14.04系统镜像文件,Ultraiso,EasyBcd,分区助手 Ubuntu14.04地址:http://www.ubuntu.com/download/des ...

  5. linux下挂载硬盘,解决阿里云挂载后重启消失的问题

    完整的阿里云挂载数据盘方法如下: 1.入手阿里云后查看有几块硬盘:(只显示概况,不显示分区情况) fdisk -l|grep Disk 2.查看硬盘分区 fdisk -l 如果有提示:disk /de ...

  6. Android设计画面中有EditText时取消启动时自动获得焦点调用系统输入法的方法

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...

  7. 戴文的Linux内核专题:08内核配置(5)

    转自Linux中国 Linux内核拥有许多可以配置的特性,接下来我们还有许多要配置. 下一个可以配置的特性是x86的随机数生成器(x86 architectural random number gen ...

  8. hdu 1034 (preprocess optimization, property of division to avoid if, decreasing order process) 分类: hdoj 2015-06-16 13:32 39人阅读 评论(0) 收藏

    IMO, version 1 better than version 2, version 2 better than version 3. make some preprocess to make ...

  9. Android ViewPager自动播放

    在开发Android应用的过程中,ViewPager有时候需要自动播放的功能,今天就介绍一下自动播放功能的实现,直接上代码: // viewpager auto play private static ...

  10. VMware Workstation 10.0.0.1295980 CN

    从V10版本开始,VMware Workstation 官方自带简体中文了,以后大家不需要汉化啦! Winner of more than 50 industry awards, VMware Wor ...