利用Cgywin编译工具来将cocos2dx 在Android运行所需要的C++文件编译

1. ./build_native.sh(最后一把执行出错)

  please define NDK_ROOT in cocos2d-2.0-x-2.0.2

  配置环境变量:key: NDK_ROOK

         values: 你配置的NDK环境目录,Linux和Windows下目录各按系统不同而不同

2. make: *** [obj/local/armeabi/objs/cocos2dx_static/platform/android/CCCommon.o] Error 1

  我装的是ndk-9r,就报这错误了.然后查阅一番之后说什么应该用ndk-r8e.....

3.Cocos2d-x学习笔记(3:WIN7下将VS2010win32 cocos2d-x 2.0.2和2.1工程移植到android环境)

  挺权威的。

  环境&软件&工具包:

  windows xp

  cocos2dx 2.1.4

  cygwin-x86.exe windows下模拟编译环境

4. 配置这cocos2dx-android真是费神啊。下面简要说明以下步骤:

  按照高中学数学的方法,推导法来解决这一配置“难题”。

  1. 既然需要在Android平台下运行cocos的工程,那么就需要一个Android工程吧,另外需要调用cocos引擎API和C++编译库来实现吧。

  2. Anroid工程需要创建,那要不要自己手动去创建一个呢, 官网已经给出了操作步骤。   那C++编译库怎么生成呢,google一下cocos在windows的配置环境就知晓了,在win下需要一个模拟编译环境,这个就需要cgywin软件,这软件很小但是里面绑定下载的工具很多,如果你全点了INSTALL,那么恭喜你。 花两顿饭的时间估计都不够,整整有4.6个G!!!这里我们在select输入栏中 敲上make。随后将出来的结果全点成INSTALL就成(别点上面的父类 all 那就和你全部安装没啥区别了,点选安装好像要点两次, 有default、intall、reintall、unstall四个状态)。

  在这里说这么多就是因为我没装make打包的相关工具,在proj.android/bulid_native.sh 编译C++代码时,最后一步无法将编译后的C 去make打包成libxxx.so库

  如果你发现还是编译不成功,认真查看错误原因,可能你会看到load global ndk environment fail 加载全局的ndk环境失败,原因就在于你有没有配置ndk环境变量。

  3. 如何创建一个Anroid工程呢? 在cocos解压下的文件夹下,有个create-android-project.bat ,这里他点击之后,主要执行:先载入你配置的NDK、SDK、cygwin环境路径,然后依次按步骤并提示你:指定工程包名  -> 工程名 -> 选择工程Android API的版本   over

  那么你要做的就是打开上面bat文件,找到

:: modify it to work under your environment
set _CYGBIN=Q:\cgywin\bin
if not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%" & pause & exit 4 :: modify it to work under your environment
set _ANDROIDTOOLS=Q:\android-sdks\tools
if not exist "%_ANDROIDTOOLS%" echo Couldn't find android sdk tools at "%_ANDROIDTOOLS%" & pause & exit 5 :: modify it to work under your environment
set _NDKROOT=Q:\android-ndks\android-ndk-r8e
if not exist "%_NDKROOT%" echo Couldn't find ndk at "%_NDKROOT%" & pause & exit 6

万事俱备,那就可以顺着思路(先配置好环境然后再执行命令)。   如果还是出现了错误:

比如到最后了,Hello World就是看不到cocos可爱的画面,并且还报出

08-15 17:34:24.919: E/AndroidRuntime(17557): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load game: findLibrary returned null

呵呵,就是这错误 让重复很多次配置环境的路!!! 去cocos官网论坛上,就是说 无法加载这库是因为你的NDK 环境变量没有配置。

但是我检查了我的确实是有,不然在bulid_native.sh这一步就会抱错的。

最后还是参照官网的配置步骤:先create project 然后使用bulid_native.sh命令将C++库打包      

<application android:label="@string/app_name"
android:icon="@drawable/icon">
and change it by the correct icon name:
<application android:label="@string/app_name"
android:icon="@drawable/ic_launcher">
And, before you close AndroidManifest.xml, modify android:minSdkVersion to be:
<uses-sdk android:minSdkVersion="14"/>
and Save the file.

点击这里:cocos2dx官网

  

cocos2dx - 部署到android真机上错误整理的更多相关文章

  1. cocos2d-x 不能在android真机debug的问题

    最近在做cocos2d-x开发的时候,发现在android真机上不能调试C++代码,显示如下警告信息 Ignoring packet error, continuing... warning: unr ...

  2. React-Native项目在Android真机上调试

    目录 1.确保你的设备已经成功连接.可以终端输入adb devices来查看: 2.终端运行npm start 开启本地服务,成功后运行react-native run-android来在设备上安装并 ...

  3. 在可部署到brew真机上的程序包构建完之后又要如何将该程序包发布到真机上呢

    1.到brew官网上去申请含有classid的bid文件,以及.sig文件 2.根据申请到的bid文件重新生成mif文件. 3.将mif文件部署到brew真机上的mif文件夹下. 4.在真机上的bre ...

  4. 在android真机上使用sqlite3

    #zijun#2013.10.29#QQ:223663737 在android真机上使用sqlite3 前期准备: 1:保证手机已经ROOT 操作步骤: 1 : 打开CMD 2 : 进入android ...

  5. cocos2d-x在android真机上设置帧率无效的问题

    通过setAnimationInterval设置帧频时,发现在android下没有效果的 在Cocos2dxRenderer .java文件里面找到了onDrawFrame这个函数.里面有句注释 : ...

  6. [转]Fiddler抓取Android真机上的HTTPS包

    此篇文章转载自:http://blog.csdn.net/roland_sun/article/details/30078353 工作中经常会需要对一些app进行抓包, 但是每次默认都是只抓http请 ...

  7. Android 开发之错误整理java.lang.SecurityException: Requires READ_PHONE_STATE: Neither user 10088 nor current process has android.permission.READ_PHONE_STATE.

    java.lang.SecurityException: Requires READ_PHONE_STATE: Neither user 10088 nor current process has a ...

  8. Android 开发之错误整理 [2014-04-28 09:22:28 - XXXX] Unable to resolve target 'android-18'

    在开发的时候难免会导入项目,那么怎么经常会遇到这个错误: [2014-04-28 09:22:28 - XXXX] Unable to resolve target 'android-18' targ ...

  9. 在你开发完brew应用之后 ,你又如果将brew应用由编译成可以部署到brew真机上的程序包呢

    参考自:http://blog.csdn.net/feimor/article/details/6239281 一.准备工作(安装工具) 先安装Visual C++ 6.0,再安装BREW SDK v ...

随机推荐

  1. JavaScript里面向对象的继承:构造函数"继承"的六种方法

    //现在有一个"动物"对象的构造函数. function Animal(){ this.species = "动物"; } //还有一个"猫" ...

  2. Linux 部署ftp报530 错误解决方案

    sudo apt-get remove vsftpdsudo rm /etc/pam.d/vsftpdsudo apt-get install vsftpd 这是因为ubuntu启用了PAM,所在用到 ...

  3. ITFriend站点内測公測感悟

    4月份做出站点Demo.就開始让用户使用了. 最初的黄色版界面.被吐槽得比較厉害. 关于界面.每一个人都有自己的看法,仅仅是喜欢和不喜欢的人比例不一样. 后来.花3400元请了个设计师,设计了一套界面 ...

  4. Phalcon 訪问控制列表 ACL(Access Control Lists ACL)

    Phalcon在权限方面通过 Phalcon\Acl 提供了一个轻量级的 ACL(訪问控制列表). Access Control Lists (ACL) 同意系统对用户的訪问权限进行控制,比方同意訪问 ...

  5. IOS 多播委托(GCDMulticastDelegate)

    原文:http://www.cnblogs.com/dagehaoshuang/p/4043264.html 在IOS中为了实现回调一般有如下几个方法: delegate 通知中心 block KVO ...

  6. LightOJ 1070 - Algebraic Problem 矩阵高速幂

    题链:http://lightoj.com/volume_showproblem.php?problem=1070 1070 - Algebraic Problem PDF (English) Sta ...

  7. TensorFlow学习笔记 速记2 报错:failed call to cuDevicePrimaryCtxRetain: CUDA_ERROR_INVALID_DEVICE

    版本: tensorflow-gpu 原因: 在创建session时没有使用我想让它用的gpu 解决方案: 1. 在python程序中: import os os.environ["CUDA ...

  8. LwIP协议栈(2):网络接口

    在LwIP中,物理网络硬件接口结构保存在一个全局链表中,它们通过结构体中的 next 指针连接. struct netif { /// pointer to next in linked list * ...

  9. 一些I2S的基础概念

    在数字音频Datasheet中,我们经常看到256FS,384FS,32kHz,44.1kHz MCLK等概念.一般在数字音频芯片用3个pin作为通讯接口:BCLK,ADCLRC,DOUT.现在做个总 ...

  10. C# Activator.CreateInstance 动态创建类的实例(一)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...