1. 程式人生 > >cocos2d-x 3.0的坑有哪些

cocos2d-x 3.0的坑有哪些

命令行 工程文件 模擬 directory file run eclipse setup.py ports

問題一:setup.py 之後, ANT文件夾為什麽創建不成功?

ANT文件夾要指定到bin以下,NDK和SDK則指定要根文件夾就可以


問題二:cocos run -p android 之後,執行應用的時候,報錯:so文件無法載入?

在安卓project文件夾以下的jni裏面有個Application.mk,在這個文件中面加入一行 APP_ABI := armeabi armeabi-v7a x86。註意。這樣在編譯so文件的時候,會有些久


問題三:執行的時候,為什麽程序閃退?

這個問題的解決辦法比較多,須要先確定安卓project使用的sdk(用eclipse直接能夠看到),不要太舊了,如今通常是4.2.2就能夠了


問題四:執行在模擬器genymotion上的時候,為什麽程序閃退?

據說genymotion僅僅是模擬的是x86芯片的安卓手機,所以在問題二那個裏面必須確定加了x86


問題五:用eclipse編譯java代碼的時候,會發現繼承的Cocos2dxActivity.java的onCreate()裏面獲取metadata為空,為什麽?

這個不要緊,它並沒有真正去載入so文件。真正載入so文件是在Cocos2dxHelper.java裏面的init()方法


問題六:編譯so文件的時候報build android project reports error: android/asset_manager.h: No such file or directory。怎麽解決?

打開安卓工程文件夾下的project.properties,將 target=android-8改為target=android-9


問題七:編譯so文件的時候,改動了安卓project文件夾下的jni裏面的Application.mk文件,為什麽編譯沒有起作用?

要又一次關閉命令行,然後又一次打開,再編譯,至少mac以下,windows下。還未驗證,須要這樣做才行


問題八:把別人編譯好安卓版本號的project復制到自己的電腦,編譯為什麽會失敗?

這個的原因有2個:

第一:須要刪除安卓project文件夾以下的obj文件夾。由於這個裏面有編譯好的xxx.o文件,這個是別人編譯生成了。你自己編譯。須要又一次生成(假設安卓project的絕對路徑有改動,也須要做這個操作,否則安卓編譯只是)

第二:改動安卓project文件夾下local.properties裏面sdk.dir的值,為你本地安卓sdk的文件夾


問題九:cocos run的時候,報錯:

/cocos2d-x/external/freetype2/prebuilt/android/Android.mk:cocos_freetype2_static: LOCAL_SRC_FILES points to a missing file,(當中freetype2也可能是lua等)是什麽原因?

事實上這個問題,並非cocos2dx的坑,而是版本號管理工具svn的坑。它的設置裏面忽略了.a文件,導致其它人提交的cocos2dxproject裏面/cocos2d-x/external 以下的全部.a文件缺失了。所以,你自己又一次new一個cocos2dxproject,把/cocos2d-x/external 以下的.a文件復制到相應的文件夾然後編譯就ok了

cocos2d-x 3.0的坑有哪些