阅读更多 ------------------------
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中

改为


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下的换行是,Linux下是,Mac下是。在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

更多相关文章

  1. Unable to execute dex: Multiple dex files define Lcom/jayway
  2. android--------根据文件路径使用File类获取文件相关信息
  3. 安卓4.X系统 增加蓝牙接收文件类型
  4. 用SAX解析xml文件
  5. NFS挂载android文件系统
  6. Android 网络权限配置

随机推荐

  1. android 断点续传类
  2. Android实现CoordinatorLayout、Recycler
  3. ConnectivityManager判断当前用的是什么
  4. android欢迎界面淡入淡出效果
  5. Android全面屏手机判断NavigationBar是否
  6. android 短信发送器
  7. 为iPhone,iPad,Android和其他移动设备启用L
  8. android弹钢琴的一个简单程序
  9. 分享一个两个Android(安卓)scrollView同
  10. Symantec 赛门铁克招聘 Android(安卓)Sof