转载Cocos2d-x & NDK常见报错

转载Cocos2d-x & NDK常见报错

------------------------ 
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安装 

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目录下的文件访问权限问题 
修改build_native.sh,将以下内容注释掉,然后从Resources目录手工复制相关资源到assets目录。 

Java代码  

# 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 

Java代码  

const char* CCFileUtils::fullPathFromRelativePath(const char *pszRelativePath, ccResolutionType *pResolutionType) {  

return "";  

}  


改为 

Java代码  

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 
增加以下方法: 

Java代码  

/** 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.com.cocos2dx.lib关于cocos2dx 2.0.3 及以上找不到com.cocos2dx.lib库的解决 

原文: http://www.cnblogs.com/lhming/archive/2012/06/27/2566467.html#

不好意啊,今天下了个最新的cocos2d-2.0-x-2.0.3版本下来,才发现里面的模板设置与我写这个文章的时候不一样了,这个没有发现lib的原因是在这个版本,这个lib的java文件放到了cocos2d-2.0-x-2.0.3\cocos2dx\platform\android\java\src这个文件按夹下了,而不是tests\proj.android\src\org\cocos2dx\lib这个了,且不知道是不是写模板的脚本的bug,cocos2d-2.0-x-2.0.3\template\android这个路径下的copy_files.sh脚本,COCOSJAVALIB_ROOT这个变量所指的路径就是那个lib的java路径,而在copy_src_and_jni()这个函数里面,居然没有调用复制,所以在这个函数里面加一句cp -rf $COCOSJAVALIB_ROOT/src $APP_DIR/proj.android就可以了。



参考: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 
http://blog.csdn.net/snakewarhead/article/details/8223169 
http://cn.cocos2d-x.org/bbs/forum.php?mod=viewthread&tid=10043 
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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值