1.安装Eclipse(官网),下载安装ADT(),CDT(http://download.eclipse.org/tools/cdt/releases/galileo)。
2.下载cygwin安装
3.下载NDK(Android官网),后解压到自己指定的NDK的文件夹中
-----------------------------------------------------
其中Eclipse的ADT、CDT和cygwin的下载安装比较费时,网速不佳的话。
----------------------------------------------------
安装完成后,打开cygwin的 home\用户名\ 下,找到 .bash_profile文件,打开,加入下面这段话
NDK=/cygdrive/NDK文件放置的路径
例如:NDK=/cygdrive/E/android/cygwin/android-ndk-r8b
保存,打开cygwin输入命令:cd $NDK
zz@zjy~
$ cd $NDK
zz@zjy/cygdrive/E/android/cygwin/android-ndk-r8b
$
出现正确的NDK文件放置路径,如上所示,表面环境变量设置成功了。
---------------------------------------------------------------------------
可以打开NDK里面的sample,在Eclipse中直接打开的话,会提示No projects are found to import
在编译时出现Variable references empty selection: ${project_loc},
----------
在project菜单下选clean,在弹出框中选择clean projects selected below,然后选中出现问题的工程,点击ok即可。但即使这样,仍可能会出现clean了多次以后,才解决问题。
------------
打开cygwin,进入我设置的 /cygdrive/e/android/cocos2d-1.0.1-x-c00e575
输入命令: ./create-android-project.bat 创建.project的项目
提示输入包路径和项目名称:
Please enter your package path. For example: org.cocos2dx.example:coco
Please enter your project name:Test
会继续提示支持的版本,选择项目支持的最低Android版本,我选的是6
Please input target id:6
Create android project
Created project directory: E:\android\cocos2d-1.0.1-x-c00e575\Test
Created directory E:\android\cocos2d-1.0.1-x-c00e575\Test\src\com\of3d
Added file E:\android\cocos2d-1.0.1-x-c00e575\TestDuelWar\src\com\of3d\Test.java
Created directory E:\android\cocos2d-1.0.1-x-c00e575\Test\res
Created directory E:\android\cocos2d-1.0.1-x-c00e575\Test\bin
Created directory E:\android\cocos2d-1.0.1-x-c00e575\Test\libs
Created directory E:\android\cocos2d-1.0.1-x-c00e575\Test\res\values
Added file E:\android\cocos2d-1.0.1-x-c00e575\Test\res\values\strings.xml
Created directory E:\android\cocos2d-1.0.1-x-c00e575\Test\res\layout
Added file E:\android\cocos2d-1.0.1-x-c00e575\Test\res\layout\main.xml
Added file E:\android\cocos2d-1.0.1-x-c00e575\Test\AndroidManifest.xml
Added file E:\android\cocos2d-1.0.1-x-c00e575\Test\build.xml
Added file E:\android\cocos2d-1.0.1-x-c00e575\Test\proguard-project.txt
创建完成
将c++的classes拷贝到生成的Classes文件夹下,修改 proj.android\jni下的Android.mk文件,将所有的.cpp文件添加进去,类似如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_CFLAGS += -Wno-psabi //这个是忽略警告的
LOCAL_MODULE := game_shared
LOCAL_MODULE_FILENAME := libgame
LOCAL_SRC_FILES := helloworld/main.cpp \
../../Classes/AppDelegate.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static
include $(BUILD_SHARED_LIBRARY)
$(call import-add-path, E:\android\cocos2d-1.0.1-x-c00e575)
$(call import-add-path, E:\android\cocos2d-1.0.1-x-c00e575\cocos2dx\platform\third_party\android\prebuilt)
$(call import-module,CocosDenshion/android) $(call import-module,cocos2dx)
如果有.jar包的话,要将.jar包拷贝到libs文件夹下。
编译
进入 proj.android 目录,运行 ./build_native.sh命令
编译最后出现:
StaticLibrary : libcocosdenshion.a
SharedLibrary : libgame.so
Install : libgame.so => libs/armeabi/libgame.so
make: 离开目录“/cygdrive/e/android/cocos2d-1.0.1-x-c00e575/TestDuelWar/proj.android”
中间没有error提示的话,就编译通过了。
然后打开Eclipse,将.android的项目导入即可
选中项目ALT+Enter ,打开属性界面,选中Builders,右侧NEW(New完成了放到第一个正数位置)
Name:处填写名称
Main选项卡
Location:
Browser File System...选中ndk下面的bdk-build.cmd例如我的选择的是E:\android\android-NDK\android-ndk-r8b\ndk-build.cmd
Working Directory:
Browse Workspace...选中我们的项目 会自动生成:${workspace_loc:/com.cocoa.HiWorld}
Refresh选项卡:
选中Specific resources 点击Specify Resources...打开我们的项目文件夹,只全选中jni文件夹,Finish
Environment选项卡:
NEW
Name:NDK_MODULE_PATH
Vaule:E:\android\cocos2d-2.0-rc2-x-2.0.1\cocos2dx;E:\android\cocos2d-2.0-rc2-x-2.0.1\cocos2dx\platform\third_party\android\prebuilt;(这个是我的目录,参考改下目录)
Build Options选项卡:
选中最下面的3个复选框:During auto builds ,During a “Clean”,Specify working set of relevant resources
点击Specify Resources... 同样也是选中我们项目的jni文件夹,Finish,Apply,Ok,Ok 一路到底,我们会发现开始编译main.cpp文件了。