cocos2dx-2.x 打包APK(学习笔记 Python + JDK + ADT + NDK )

前端之家收集整理的这篇文章主要介绍了cocos2dx-2.x 打包APK(学习笔记 Python + JDK + ADT + NDK )前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

看了那么多篇文章,自己结合一些前辈的精华写下这个。(因为总是不能在一个教程完成打包的全部工作需要。。。。。。)

直接开始

第一步:环境配置

必须的工具

1Python(我用的是python2.7

2JDK(我用的是jdk1.7.0_17

3ADT包括eclipseSDK,用完整包省去一些麻烦)

4NDK(我用的是android-ndk-r8b

接着配置环境变量

添加javapython的路径(以下路径都是我个人电脑的路径,根据情况更改)

JavaC:\ProgramFiles\Java\jdk1.7.0_17\bin

PythonC:\Python27

SDKNDK

SDKD:\android\sdk\tools

NDK:这个新建一个变量变量名如下,变量值看ndk在哪里就写哪里

环境配置已完成

第二步开始打包

首先打开eclipse

文件导入

选择你项目的文件位置点完成

接着导入库方法跟上面一样

库的路径是:D:\cocos2d-x-2.2.2\cocos2d-x-2.2.2\cocos2dx\platform\android

导入好以后应该是这样的

接着

点击窗口(windows)再点击首选项

找到如下位置点击新建然后按照图片这样写(路径要按照自己的路径写)

点击应用(apply

再找到如下位置点击添加然后按照图片那样写(路径写自己的)点击应用(apply

右键项目名称

点击属性进入属性界面

添加ndk-build.cmd的位置我的是:D:\android\android-ndk-r8b\ndk-build.cmd

点应用和确定

接着进入Resource


把里面的资源拷贝到assets里面

然后在eclipse里面右键项目刷新

双击Android.mk进去修改

在include$(BUILD_SHARED_LIBRARY)下面添加两行代码

$(callimport-add-path,D:/cocos2d-x-2.2.2/cocos2d-x-2.2.2)\

$(callimport-add-path,

D:/cocos2d-x-2.2.2/cocos2d-x-2.2.2/cocos2dx/platform/third_party/android/prebuilt)\

LOCAL_SRC_FILES:=hellocpp/main.cpp\

../../Classes/AppDelegate.cpp\

../../Classes/HelloWorldScene.cpp

换成

FILE_LIST:=hellocpp/main.cpp

FILE_LIST+=$(wildcard$(LOCAL_PATH)/../../Classes/*.cpp)

LOCAL_SRC_FILES:=$(FILE_LIST:$(LOCAL_PATH)/%=%)

最后加一行代码

NDK_MODULE_PATH:=D:/cocos2d-x-2.2.2/cocos2d-x-2.2.2;D:/cocos2d-x-2.2.2/cocos2d-x-2.2.2/cocos2dx/platform/third_party/android/prebuilt

版本问题

API我填的是19因为我用的是4.4

横屏landscape竖屏portrait

差不多就是这样了点项目构建项目就OK了

其他:

如果用到iconv.h

下载一个libiconv

然后解压到cocos2dx根目录下

打开Android.mk

添加代码

LOCAL_WHOLE_STATIC_LIBRARIES+=libiconv_static

$(callimport-module,libiconv)

如下图所示

将程序中cocos2dx\platform\third_party\win32目录下的iconv文件夹拷贝到自己工程的Classes目录下

(这句话原封不动抄的别人http://www.cnblogs.com/hewei2012/p/3374147.html)

然后在你使用这个库的.h里面修改

#include"iconv/iconv.h"#if(CC_TARGET_PLATFORM==CC_PLATFORM_WIN32)

#pragmacomment(lib,"libiconv.lib")#endif

在AppDelegate.cpp

加入

CCEGLView::sharedOpenGLView()->setDesignResolutionSize(640,960,kResolutionShowAll);

选择kResolutionExactFit则会拉伸至充满整个屏幕

选择kResolutionShowAll则不会拉伸,但是会留上下等宽的黑边

猜你在找的Cocos2d-x相关文章