在调试HelloCpp的时候, 出现了同样的问题 等待高人出现。不知道楼主解决了没有

解决方案 »

  1.   

    在Android.mk增加
    APP_PLATFORM := android-9或者修改AndroidManifest.xml
    android:minSdkVersion="14"cocos2d-x 2.0以上版本需要设置NDK_MODULE_PATH环境变量,因为在android.mk文件里一般会有$(call import-module,***)来导入模块,导入时就是根据设置的NDK_MODULE_PATH来寻找目标模块的。下面说下我这半天时间总结出来的几种设置NDK_MODULE_PATH的方式:
    1、build_native.sh。
    项目自带的build_native.sh文件最后可以看到:
    if [[ "$buildexternalsfromsource" ]]; then
        echo "Building external dependencies from source"
        set -x
        "$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \
            "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/source"
    else
        echo "Using prebuilt externals"
        set -x
        "$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \
            "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt"
    fi
        这里有设置NDK_MODULE_PATH。可以直接用cygwin运行这个批处理。
     
    2、eclipse
    添加ndk-build.cmd编译器时,可以添加NDK_MODULE_PATH的环境变量。这个网上很多资料,不讲了。
     
    在r7版本以后,NDK自带linux编译环境,不再需要cygwin,而我又不喜欢直接eclipse里加入NDK编译器然后一键编译这种比较呆比较臃肿的方式,所以我一般都是在NDK的build/core/build_local.mk里加入NDK_PROJECT_PATH = E:/cocos2d-2.0-x-2.0.4/samples/HelloCpp/proj.android,然后打开CMD,直接敲ndk-build编译。这时可以如3、4、5这样设置。
     
    3、android.mk
    在项目的android.mk的import_module之前添加导入模块的路劲。如:
    #$(call import-add-path, E:/cocos2d-2.0-x-2.0.4)
      #$(call import-add-path, E:/cocos2d-2.0-x-2.0.4/cocos2dx/platform/third_party/android/prebuilt)
     
    $(call import-module,cocos2dx)
    但这2个路径显然跟项目无关,加在这需要每个项目mk都加,显然不明智。所以见4。
     
    4、ndk-build.cmd
    在最后一句调用make.exe之前。加入
    set NDK_MODULE_PATH=E:/cocos2d-2.0-x-2.0.4;E:/cocos2d-2.0-x-2.0.4/cocos2dx/platform/third_party/android/prebuilt
    可以看到ndk-build.cmd会去读取build_local.mk,所以像上面说的设置NDK_PROJECT_PATH那样设置NDK_MODULE_PATH应该也是可以的,未验证,有兴趣可以去尝试一下。
     
    5、在cmd里敲ndk-build时,直接当成参数带在后面。可以看到1里面所说的build_native.sh里也是这样子传参进去的。未验证。