------------------------
cocos2d-2.1beta3-x-2.1.0
android-ndk-r8c
------------------------
1.设置环境变量
cocos2d-2.1beta3-x-2.1.0\create-android-project.bat
set _CYGBIN=E:\software\dev\Android\cygwin\bin
set _ANDROIDTOOLS=E:\software\dev\Android\android-sdk-windows\tools
set _NDKROOT=E:\software\dev\Android\android-ndk-r8c
2.在新生成工程中设置环境变量
cocos2d-2.1beta3-x-2.1.0\Cocos2dxTest\proj.android
export NDK_ROOT=/cygdrive/e/software/dev/Android/android-ndk-r8c/
3.安装GNU make
Cygwin_setup.exe-》搜索make-》选择GNU make安装
All Default-》Devel Default-》make: The GNU version of the 'make' utility-》点击“Skip”选择版本安装
4.权限错误
cc1plus.exe: fatal error: jni/hellocpp/main.cpp: Permission denied
工程目录-》右键-》属性-》安全-》所有用户-》完全控制-》高级-》更改权限-》使用可从此对象继承的权限替换所有子对象权限
5.引用cocos2d-2.1beta3-x-2.1.0\cocos2dx\platform\android\java错误“Cocos2dxActivity cannot be resolved to a type ”
cocos2d-2.1beta3-x-2.1.0\Cocos2dxTest\proj.android\project.properties中会记录引用的资源:android.library.reference.1=../../cocos2dx/platform/android/java
可以把cocos2d-2.1beta3-x-2.1.0\cocos2dx\platform\android\java当做一个工程导入eclipse和Cocos2dxTest并列
6.OpenGL ES版本问题
系统方面,从Android 2.2开始支持OpenGL ES 2.0,但还需要硬件支持。
OpenGL ES 2.0:cocos2d-2.1beta3-x-2.1.0
OpenGL ES 1.1:cocos2d-1.0.1-x-0.13.0-beta
---------------------------
cocos2d-1.0.1-x-0.13.0-beta
android-ndk-r8c
---------------------------
7.资源错误
Description Resource Path Location Type
error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/icon'). AndroidManifest.xml /MyCocos2dx line 9 Android AAPT Problem
AndroidManifest.xml中
<application android:label="@string/app_name" android:icon="@drawable/icon">
改为
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
8.代码修改后每次都全部编译问题
android-ndk-r8c\build\core\definitions.mk
大约289行,$1: $$(__ndk_file_dir),改为:$1: | $$(__ndk_file_dir),r8c版本
9.win7下重新编译后assets目录下的文件访问权限问题
修改cocos2d-1.0.1-x-0.13.0-beta\BombCocos2dx\android\build_native.sh,将以下内容注释掉,然后从Resources目录手工复制相关资源到assets目录。
# make sure assets is exist
#if [ -d $GAME_ANDROID_ROOT/assets ]; then
# rm -rf $GAME_ANDROID_ROOT/assets
#fi
#mkdir $GAME_ANDROID_ROOT/assets
# copy resources
#for file in $RESOURCE_ROOT/*
#do
# if [ -d $file ]; then
# cp -rf $file $GAME_ANDROID_ROOT/assets
# fi
#
# if [ -f $file ]; then
# cp $file $GAME_ANDROID_ROOT/assets
# fi
#done
10.模拟器经常连不上
Device Disconnected
window -> Show Views -> device -> view menu -> Reset adb
11.get data from file(assets/) failed
cocos2d-1.0.1-x-0.13.0-beta的bug
const char* CCFileUtils::fullPathFromRelativePath(const char *pszRelativePath, ccResolutionType *pResolutionType) {
return "";
}
改为
const char* CCFileUtils::fullPathFromRelativePath(const char *pszRelativePath, ccResolutionType *pResolutionType) {
return pszRelativePath;
}
12.新增一个类,报undefined reference to...错误
cocos2d-1.0.1-x-0.13.0-beta\MyProject\android\jni\Android.mk
增加新加的类
13.读取xml文件
参考Himi的xml读取方案。但是依赖于cocos2d-x新版本,如果使用cocos2d-1.0.1-x-0.13.0-beta,需要修改如下文件:
E:\software\dev\cocos2d\cocos2d-1.0.1-x-0.13.0-beta\cocos2dx\include\CCString.h
增加以下方法:
/** get the C string */
const char* getCString() const
{
return m_sString.c_str();
}
14.触摸报错
error: 'class cocos2d::CCTouch' has no member named 'view'
CCPoint location = touch->locationInView(touch->view());
改为
CCPoint location = touch->locationInView();
15.Cygwin fork错误
2 [main] sh 3132 child_info_fork::abort: E:\software\dev\Android\cygwin\bin\cygiconv-2.dll: Loaded to different address: parent(0x490000) != child(0x2F0000)
/cygdrive/e/software/dev/Android/android-ndk-r8c/ndk-build: fork: Resource temporarily unavailable
因为Cygwin在Windows下对fork()无法完全模拟,所以有的时候会出现问题,重新启动操作系统即可。
16.Android NDK错误
/cygdrive/e/software/dev/Android/android-ndk-r8c/build/core/add-application.mk:128: Android NDK: WARNING: APP_PLATFORM android-14 is larger than android:minSdkVersion 7 in ./AndroidManifest.xml
Eclipse 3.7 & Eclipse 4.2: Window -> Preferences -> C/C++ -> Build -> Settings
Eclipse 3.6: Window -> Preferences -> C/C++ -> Build
选择CDT GNU C/C++ Error Parser
在Error Parser options中最上面添加如下内容:
Severity: Warning
Pattern: (.*?):(\d+): Android NDK: WARNING:(.*)
File: $1
Line: $2
Description: $3
17.提示如下错误
Description Resource Path Location Type
E:\software\dev\cocos2d\cocos2d-1.0.1-x-0.13.0-beta\MyProject\android/build_native.sh: line 7: $'\r': command not found MyProject C/C++ Problem
因为Windows下的换行是<LF><CR>,Linux下是<LF>,Mac下是<CR>。在Cygwin下执行如下即可:
$ dos2unix build_native.sh
dos2unix: converting file build_native.sh to Unix format ...
18.CDT 8.0.2 for Eclipse Indigo
http://download.eclipse.org/tools/cdt/releases/indigo
19.莫名其妙出现大量如下错误
Description Resource Path Location Type
Type 'std::string' could not be resolved MyClass.h /MyProject/MyProject_Classes line 40 Semantic Error
有很多类似的“could not be resolved”错误
可能是Eclipse的bug,回退到Eclipse 3.6 sr2解决问题
https://bugs.eclipse.org/bugs/show_bug.cgi?id=353719
---------------------------------------------------
PureMVC C++不支持Android
https://code.google.com/p/libpuremvc/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary&groupby=&sort=&id=3
---------------------------------------------------
20.使用puremvc-cpp-multicore
Mingw32中运行:mingw32-make -f makefile.mgw
mingw32-make -f makekfile.mgw DEBUG=1(DEBUG版)
报如下错误:
include/PureMVC/Interfaces/IAggregate.hpp:36:21: error: 'unique_ptr' in namespace 'std' does not name a type
修改makefile.mgw
CXX = g++ 改为 CXX = g++ -std=c++0x
报错:gcc: error: CreateProcess: No such file or directory
PATH环境变量中添加:E:\software\dev\MinGW\libexec\gcc\mingw32\4.6.2
报错:gcc: fatal error: -fuse-linker-plugin, but liblto_plugin-0.dll not found
改为在Cygwin中安装mingw-gcc-g++,运行正常。
21.通过Cygwin+NDK编译puremvc出现问题
改为使用MinGW,报错:
non-numeric second argument to `wordlist' function: '
需要修改 __gmsl文件的第512行
把nt_encode = $(__gmsl_tr1)$(wordlist 1, $1,$(__gmsl_input_int))
改成:
int_encode = $(__gmsl_tr1)$(wordlist 1,$(words $1),$(__gmsl_input_int))即可。
PATH:E:\software\dev\MinGW\bin;E:\software\dev\MinGW\libexec\gcc\mingw32\4.6.2;E:\software\dev\MinGW\msys\1.0\bin;
路径:build_native.sh 中/cygwin/e改为 /e
22.eclipse换个机器有些插件就不好使了
清除eclipse\configuration\org.eclipse.update重新启动eclipse
另外,有些插件依赖于jdk 1.6,比如ADT
参考:
设置开发环境:
http://www.jesusbosch.com/2012/06/how-to-set-up-android-and-win32-cocos2d.html
http://www.raywenderlich.com/11283/cocos2d-x-for-ios-and-android-getting-started
please define NDK_ROOT:
http://blog.csdn.net/snakewarhead/article/details/8223169
每次只编译修改的文件:
http://cn.cocos2d-x.org/bbs/forum.php?mod=viewthread&tid=10043
Eclipse连不上模拟器:
http://www.cnblogs.com/over140/archive/2010/08/06/1793264.html
http://www.cocos2d-x.org/boards/6/topics/9944
http://blog.molioapp.com/2011/11/openfeint-and-admob-integrated-with.html
支持多分辨率:
http://www.himigame.com/android-game/799.html
Himi xml:
http://www.himigame.com/iphone-cocos2dx/694.html
Cygwin FAQ:
http://cygwin.com/faq-nochunks.html#faq.using.fixing-fork-failures
Android NDK问题:
http://code.google.com/p/android/issues/detail?id=39752
分享到:
相关推荐
cocos2d-x 是一个开源的游戏开发框架,使用 C++ 语言编写,支持多平台发布,包括 iOS、Android、Windows、macOS、Linux 和 Web。cocos2d-x v3.16 是该框架的一个版本号,本文档主要介绍了该版本的安装流程以及环境...
《Cocos2d-x 3.13.1与Spine 3.6集成详解》 Cocos2d-x是一个广泛使用的开源游戏开发框架,它基于C++,同时支持Lua和JavaScript等多种脚本语言,为开发者提供了高效、跨平台的游戏开发解决方案。在3.13.1版本中,...
将其解压缩到指定目录,如`E:\Cocos2d-x\android-ndk-r8e-windows-x86\android-ndk-r8e`。 4. **Cocos2d-x**:游戏引擎本身。这里是cocos2d-x-2.2.2版本。下载并解压后,你可以使用它提供的工具和库来创建、构建和...
在Eclipse中配置Cocos2d-x项目,你需要设置项目的NDK路径和Ant构建脚本。NDK是Android的Native Development Kit,用于处理C/C++代码。Ant是Apache的一个构建工具,Cocos2d-x使用它来编译项目。确保Eclipse的Android ...
【Cocos2D-x3.10安装】和【Win10中安装VS2015配置Cocos2D-x3.10】涉及到的是在Windows 10系统上搭建Cocos2D-x游戏开发环境的过程,特别是针对Cocos2D-x版本3.10的配置。这个过程相对复杂,因为不仅需要安装Cocos2D-x...
1. **环境配置**:安装cocos2d-x开发环境,包括安装Visual Studio、Git、Python等必要工具,并配置好NDK和SDK环境。 2. **项目创建**:使用cocos命令行工具生成新的项目模板,这将自动生成基本的目录结构和初始化...
1. **环境配置**:首先,你需要在你的计算机上安装Cocos2d-x 3.8开发环境,这包括设置好C++编译器、NDK(Android Native Development Kit)和JDK(Java Development Kit),并确保所有依赖项正确配置。 2. **项目...
### 知识点一:Cocos2d-x简介 Cocos2d-x是一个开源的游戏开发框架,用于构建2D游戏、交互式图书、演示和其他图形界面应用。它支持多种平台,包括Android、iOS、Windows和Mac等。Cocos2d-x使用C++作为主要编程语言,...
- **NDK支持**:cocos2d-x使用Android NDK进行原生代码编译,允许开发者利用C++编写游戏逻辑。 - **Android Studio集成**:可以通过Android Studio进行项目管理,与cocos2d-x命令行工具配合,实现快速开发。 6. *...
【Cocos2D-X 跨平台游戏开发环境搭建详解(Win32)】 Cocos2D-X 是一个广泛使用的开源游戏开发框架,它允许开发者创建跨平台的游戏,支持iOS、Android、Windows等操作系统。本教程将详细介绍如何在Windows环境下...
4. 设置`NDK_MODULE_PATH`环境变量,包括Cocos2D-x库和第三方库的路径,中间用分号分隔。 5. 在`Windows` -> `Preferences` -> `Android` -> `NDK`中检查并输入NDK的路径。 修改Android.mk文件: 1. 在Android.mk...
### Python 创建 Cocos2d-x 项目的代码详解 在游戏开发领域,Cocos2d-x 是一个非常流行的跨平台框架,支持多种编程语言,包括 C++ 和 Python。本篇文章将详细解析如何通过 Python 脚本来创建一个 Cocos2d-x 项目,...
4. **Android NDK**:Cocos2d-x需要Android Native Development Kit(NDK)来编译C/C++代码。你可以从Google官方站点下载NDK,并将其解压到一个方便访问的位置。 5. **Cocos2d-x**:从Cocos2d-x官网下载最新稳定版...
ndk-stack 调试 cocos2d-x ndk-stack 是一个强大的命令行调试工具,用于调试 Native 代码,especially for Android 平台的.so 库文件。下面我们来详细了解 ndk-stack 在 cocos2d-x 中的应用。 什么是 ndk-stack? ...
Cocos2d-x教程视频Cocos2d-x功能扩展-C++-Cocos2d-x-Android-iOS混合编程与NDK开发环境搭建提取方式是百度网盘分享地址
Cocos2d-x是一款开源的游戏开发框架,广泛用于2D游戏、实时预览、互动媒体应用等开发。在本文中,我们将深入探讨如何使用cocos2d-x 3.6版本创建一个新的项目,并解决可能遇到的编译问题。 首先,我们要确保已经正确...
3. **NDK**:Native Development Kit,用于处理原生代码,如cocos2d-x的C++部分。从Android开发者网站下载并解压。 4. **Cygwin**:提供一个类Unix的环境,使得在Windows上可以执行Linux命令。在配置cocos2d-x时,...
2. 导入Cocos2d-x项目:将"proj.android"导入Eclipse,配置NDK路径,建立项目与Cocos2d-x库的链接。 3. 编译与调试:在Eclipse中编译源码,通过Cocos2d-x的预处理命令,生成Android.mk和Application.mk文件,调用NDK...
《cocos2d-x手机游戏开发》 Cocos2d-x是一个开源的游戏开发框架,它基于C++,但同时也支持Lua和JavaScript等脚本语言,让开发者能够快速地创建跨平台的游戏。本资料集合旨在为初学者提供一个全面的cocos2d-x学习...
在Android平台上,构建Cocos2d-x项目时,开发者需要配置`Android.mk`文件,这是一个Makefile,用于指示Android NDK如何编译和链接C++源代码。然而,手动编辑`Android.mk`文件可能既耗时又容易出错。为了简化这一过程...