1.生成so文件時,報「No rule to make target 」錯誤html
解決方法:將.\xxx[appname]\proj.android\obj\local\armeabi\objs中的文件所有刪除便可java
2.生成so文件時,報"multiple definition"錯誤linux
解決方法:檢查Andriod.mk文件是否寫了多遍同一個cpp文件android
3.cocos2d_x 多線程頭文件路徑bash
在cocos2dx pthread.h的位置是在 include「pthread/pthread.h」這樣再win32下的確能夠編譯可是要交叉編譯到安卓的時候就出錯了,緣由是linux自帶pthread可是路徑pthread/pthread.h 找不到。網絡
4.Andriod 聯網模塊連不上網多線程
解決方法:在AndroidManifest.xml文件中添加網絡權限<uses-permission android:name="android.permission.INTERNET"></uses-permission>app
5.移植屏幕自適應eclipse
解決方法:在方法bool AppDelegate::applicationDidFinishLaunching()中添加編輯器
pEGLView->setDesignResolutionSize(800, 480, kResolutionExactFit);
800x400表示實際背景圖片的大小
6.在進行Cocos2d-x開發Android遊戲的時候,常常會遇到的一個問題就是返回鍵和菜單鍵的處理!
解決方法:
1.在layer中調用:
2.在layer中重寫如下兩個方法:
7.cocos2dx API文檔 http://www.cocos2d-x.org/wiki/Reference
8.cocos2d-x 字體描邊CCRenderTexture glBlendFunc
http://blog.sina.com.cn/s/blog_a502f1a30101hvh7.html
9.Jni完整教程
http://jiangwenfeng762.iteye.com/blog/1500131
10.Andriod相關內容
http://secyaher.blog.163.com/blog/static/3895577201111275423382/
11.在Andriod線程中,使用handler句柄報錯
必須添加Looper.prepare Looper.loop
12.Andrord sd文件存儲
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> FILE *fp = fopen("/mnt/sdcard/xxx.xxx", "rb+"); //此時就能夠了,切記根目錄前綴:/mnt/sdcard/ 指代sd卡的根目錄
13.Tile map 繪製的地圖有黑線
在AppDelegate::applicationDidFinishLaunching方法中添加 pDirector->setProjection(kCCDirectorProjection2D); 最後添加便可
14.cocos2d-2.1rc0-x-2.1.2 到 cocos2d-x-2.2.1移植
基本都同樣,但proj.android中的main.cpp不同了,須要注意
15.eclipse 移植cocos2d-x工程 報錯: Program "bash" is not found in PATH
一、把cygwin/bin加入系統環境變量Path下
二、右擊工程-->properties-->C/C++ Build 確認右邊視圖選項Build command:ndk-build
三、右擊工程-->properties-->C/C++ Build -->ToolChain Edit
確認右邊視圖的選項:Current toolchain:No Toolchain
Current Builder:Android Builder (若是仍是不行,能夠換成Gnu Make Builder試試)
16.cocoStudio 的UI編輯器內存泄露,添加代碼
GUIReader::shareReader()->purgeGUIReader(); DictionaryHelper::shareHelper()->purgeDictionaryHelper(); ActionManager::shareManager()->purgeActionManager();
17.CCClippingNode 不工做
for iOS: in AppController replace the gl-view creation with: EAGLView *__glView = [EAGLView viewWithFrame: [window bounds] pixelFormat: kEAGLColorFormatRGBA8 depthFormat: GL_DEPTH24_STENCIL8_OES preserveBackbuffer: NO sharegroup: nil multiSampling: NO numberOfSamples: 0]; for Android: in game activity: public Cocos2dxGLSurfaceView onCreateView() { Cocos2dxGLSurfaceView glSurfaceView = new Cocos2dxGLSurfaceView(this); glSurfaceView.setEGLConfigChooser(5, 6, 5, 0, 16, 8); return glSurfaceView; }
待續