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

来源:互联网 发布:大数据技术入门 pdf 编辑:程序博客网 时间:2024/05/21 21:49

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

 

直接开始

 

第一步:环境配置

必须的工具

1 Python (我用的是python2.7

2 JDK (我用的是jdk1.7.0_17

3 ADT(包括了eclipse和 SDK,用完整包省去一些麻烦)

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

 

接着配置环境变量

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

JavaC:\Program Files\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) 下面添加两行代码

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

$(call import-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

$(call import-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) 

#pragma comment(lib,"libiconv.lib") #endif

 

在AppDelegate.cpp

加入

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

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

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

0 0