cocos2dx-2.x 打包APK(學習筆記 Python + JDK + ADT + NDK )

看了那麼多篇文章,自己結合一些前輩的精華寫下這個。(因爲總是不能在一個教程完成打包的全部工作需要。。。。。。)

 

直接開始

 

第一步:環境配置

必須的工具

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則不會拉伸,但是會留上下等寬的黑邊

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章