cocos2d-x安卓编译环境的搭建真的是十分复杂,我在编译的过程中碰到了很多困难,摸索了很久才最终成功,我把碰到的问题记录下来,以便跟我一样的朋友可以得到一些帮助。
C:/Android/android-ndk-r8d/build/core/add-application.mk:128: Android NDK: WARNING: APP_PLATFORM android-9 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml
jni/Android.mk:22: *** Android NDK: Aborting. . Stop.将AndroidMainfest.xml中的uses-sdk android:minSdkVersion="8"其中8改为14
-----------------------------------------------------------------------------
Android NDK: jni/Android.mk: Cannot find module with tag 'samples/Cpp/TestCpp' in import path
Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?
Android NDK: The following directories were searched:
Android NDK:
C:/Android/android-ndk-r8d/build/core/add-application.mk:128: Android NDK: WARNING: APP_PLATFORM android-9 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml
jni/Android.mk:22: *** Android NDK: Aborting. . Stop.
我们编辑我们的Builder,在新建的builder的环境变量environment
添加NDK_MODULE_PATH变量,注意要写两个路径,用分号分开
D:\SDK\cocos2d-2.0-rc0a-x-2.0;D:\SDK\cocos2d-2.0-rc0a-x-2.0\cocos2dx\platform\third_party\android\prebuilt
因为cocos2dx还import了其他几个module,第二个路径制定了第三方的module,设置完就可以进行编译了
工程 ->清理
-----------------------------------------------------------------------------
无法解析导入 org.cocos2dx.lib
直接到cocos2dx\platform\android\java\src\org\cocos2dx 目录
把文件夹拷贝到proj.android\src\org\cocos2dx 这个目录下就OK了。
-----------------------------------------------------------------------------
Conversion to Dalvik format failed with error 1
1.
在 android-sdk-windows\tools\proguard\bin目录找到: proguard.bat
把 call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %*
改为:
call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
即可! 使用后无效
-------------------------------------------------------------------------------
undefined reference to ‘cocosdenshion::simpleaudioengine::sharedengine()’
解决办法:
编辑android.mk
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
$(LOCAL_PATH)/../../../CocosDenshion/include
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,CocosDenshion/android) $(call import-module,cocos2dx)
-------------------------------------------------------------------------------
Program "bash" is not found in PATH
在系统变量的path里设置cygwin/bin的路径,在项目上右键属性,C/C++ build, environment里,ADD, NAME里输入PATH,然后确定
-------------------------------------------------------------------------------
NDK_ROOT not defined. Please define NDK_ROOT in your environment or in local.properties
在build_native.sh中加入
NDK_ROOT="C:\Android\android-ndk-r8d"
-------------------------------------------------------------------------------
No rule to make target `/build-all.mk'