按照官方文档添加Anysdk,但在构建自定义Android安卓模拟器出现错误,求解
Running command: compile
Building mode: debug
Updated project.properties
Updated local.properties
Updated file /Users/imhero/Tools/Cocos2d-UI/CocosJSGameStarLanding/frameworks/runtime-src/proj.android/proguard-project.txt
make: Entering directory /Users/imhero/Tools/Cocos2d-UI/CocosJSGameStarLanding/frameworks/runtime-src/proj.android' Compile++ thumb: cocos2djs_shared <= jsb_anysdk_basic_conversions.cpp Compile++ thumb: cocos2djs_shared <= jsb_anysdk_protocols_auto.cpp Compile++ thumb: cocos2djs_shared <= manualanysdkbindings.cpp In file included from /Applications/Cocos/frameworks/cocos2d-x-3.5/cocos/3d/prebuilt-mk/../../base/CCRef.h:29:0, from /Applications/Cocos/frameworks/cocos2d-x-3.5/cocos/3d/prebuilt-mk/../../cocos2d.h:41, from /Applications/Cocos/frameworks/cocos2d-x-3.5/cocos/scripting/js-bindings/proj.android/prebuilt-mk/../../manual/ScriptingCore.h:31, from /Applications/Cocos/frameworks/cocos2d-x-3.5/cocos/scripting/js-bindings/proj.android/prebuilt-mk/../../manual/cocos2d_specifics.hpp:27, from jni/../../Classes/jsb_anysdk_basic_conversions.cpp:4: /Applications/Cocos/frameworks/cocos2d-x-3.5/cocos/3d/prebuilt-mk/../../platform/CCPlatformMacros.h:236:0: warning: "CCLOGINFO" redefined #define CCLOGINFO(format,...) do {} while (0) ^ In file included from jni/../../Classes/jsb_anysdk_basic_conversions.cpp:1:0: jni/../../Classes/jsb_anysdk_basic_conversions.h:15:0: note: this is the location of the previous definition #define CCLOGINFO(...) ^ jni/../../Classes/manualanysdkbindings.cpp: In function 'bool dummy_constructor(JSContext*, uint32_t, jsval*)': jni/../../Classes/manualanysdkbindings.cpp:35:53: error: request for member 'get' in 'typeClass->.proto', which is of pointer type 'JSObject*' (maybe you meant to use '->' ?) JS::RootedObject proto(cx, typeClass->proto.get()); ^ jni/../../Classes/manualanysdkbindings.cpp:36:60: error: request for member 'get' in 'typeClass->.parentProto', which is of pointer type 'JSObject*' (maybe you meant to use '->' ?) JS::RootedObject parent(cx, typeClass->parentProto.get()); ^ jni/../../Classes/manualanysdkbindings.cpp:41:35: error: there are no arguments to 'AddObjectRoot' that depend on a template parameter, so a declaration of 'AddObjectRoot' must be available -fpermissive] AddObjectRoot(cx, &pp->obj); ^ jni/../../Classes/manualanysdkbindings.cpp:41:35: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) jni/../../Classes/manualanysdkbindings.cpp: In function 'bool jsb_anysdk_PluginParam_getMapValue(JSContext*, uint32_t, jsval*)': jni/../../Classes/manualanysdkbindings.cpp:248:79: error: cannot convert 'JS::NullPtr' to 'JSObject*' for argument '3' to 'JSObject* JS_NewObject(JSContext*, const JSClass*, JSObject*, JSObject*)' JS::RootedObject tmp(cx, JS_NewObject(cx, NULL, JS::NullPtr(), JS::NullPtr())); ^ jni/../../Classes/manualanysdkbindings.cpp:257:150: error: invalid conversion from 'int' to 'JSPropertyOp {aka bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<int>, JS::MutableHandle<JS::Value>)}' -fpermissive] ok &= JS_DefineProperty(cx, tmp, str_key.c_str(), JS::RootedValue(cx, OBJECT_TO_JSVAL(jsProxy->obj)), JSPROP_ENUMERATE | JSPROP_PERMANENT); ^ jni/../../Classes/manualanysdkbindings.cpp:257:150: error: too few arguments to function 'bool JS_DefineProperty(JSContext*, JSObject*, const char*, jsval, JSPropertyOp, JSStrictPropertyOp, unsigned int)' In file included from jni/../../Classes/manualanysdkbindings.hpp:4:0, from jni/../../Classes/manualanysdkbindings.cpp:1: /Applications/Cocos/frameworks/cocos2d-x-3.5/external/spidermonkey/prebuilt/android/../../include/android/jsapi.h:2732:1: note: declared here JS_DefineProperty(JSContext *cx, JSObject *obj, const char *name, jsval value, ^ jni/../../Classes/manualanysdkbindings.cpp: In function 'bool jsb_anysdk_PluginParam_getStrMapValue(JSContext*, uint32_t, jsval*)': jni/../../Classes/manualanysdkbindings.cpp:278:85: error: cannot convert 'JS::NullPtr' to 'JSObject*' for argument '3' to 'JSObject* JS_NewObject(JSContext*, const JSClass*, JSObject*, JSObject*)' JS::RootedObject tmp(cx, JS_NewObject(cx, NULL, JS::NullPtr(), JS::NullPtr())); ^ jni/../../Classes/manualanysdkbindings.cpp:287:153: error: invalid conversion from 'int' to 'JSPropertyOp {aka bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<int>, JS::MutableHandle<JS::Value>)}' -fpermissive] ok &= JS_DefineProperty(cx, tmp, str_key.c_str(), JS::RootedValue(cx, std_string_to_jsval(cx, str_tmp)), JSPROP_ENUMERATE | JSPROP_PERMANENT); ^ jni/../../Classes/manualanysdkbindings.cpp:287:153: error: too few arguments to function 'bool JS_DefineProperty(JSContext*, JSObject*, const char*, jsval, JSPropertyOp, JSStrictPropertyOp, unsigned int)' In file included from jni/../../Classes/manualanysdkbindings.hpp:4:0, from jni/../../Classes/manualanysdkbindings.cpp:1: /Applications/Cocos/frameworks/cocos2d-x-3.5/external/spidermonkey/prebuilt/android/../../include/android/jsapi.h:2732:1: note: declared here JS_DefineProperty(JSContext *cx, JSObject *obj, const char *name, jsval value, ^ jni/../../Classes/manualanysdkbindings.cpp: In function 'bool js_cocos2dx_PluginParam_create(JSContext*, uint32_t, jsval*)': jni/../../Classes/manualanysdkbindings.cpp:325:93: error: cannot convert 'JS::RootedValue* {aka JS::Rooted<JS::Value>*}' to 'jsval* {aka JS::Value*}' for argument '3' to 'bool JS_IdToValue(JSContext*, jsid, jsval*)' if (! JS_NextProperty(cx, it, idp.address()) || ! JS_IdToValue(cx, idp, &key)) { ^ jni/../../Classes/manualanysdkbindings.cpp: In member function 'virtual void ProtocolShareResultListener::onShareResult(anysdk::framework::ShareResultCode, const char*)': jni/../../Classes/manualanysdkbindings.cpp:497:13: error: 'HandleValueArray' is not a member of 'JS' JS::HandleValueArray args = JS::HandleValueArray::fromMarkedLocation(2, valArr.begin()); ^ jni/../../Classes/manualanysdkbindings.cpp:498:68: error: 'args' was not declared in this scope JS_CallFunctionValue(_ctx, thisObj, _jsCallback.ref(), args, &retval); ^ jni/../../Classes/manualanysdkbindings.cpp: In function 'bool jsb_anysdk_framework_AgentManager_getIAPPlugin(JSContext*, uint32_t, jsval*)': jni/../../Classes/manualanysdkbindings.cpp:991:58: error: too few arguments to function 'JSObject* JS_NewArrayObject(JSContext*, int, jsval*)' JS::RootedObject jsretArr(cx, JS_NewArrayObject(cx, 0)); ^ In file included from jni/../../Classes/manualanysdkbindings.hpp:4:0, from jni/../../Classes/manualanysdkbindings.cpp:1: /Applications/Cocos/frameworks/cocos2d-x-3.5/external/spidermonkey/prebuilt/android/../../include/android/jsapi.h:3016:1: note: declared here JS_NewArrayObject(JSContext *cx, int length, jsval *vector); ^ jni/../../Classes/manualanysdkbindings.cpp: In member function 'virtual void ProtocolAdsResultListener::onAdsResult(anysdk::framework::AdsResultCode, const char*)': jni/../../Classes/manualanysdkbindings.cpp:1056:13: error: 'HandleValueArray' is not a member of 'JS' JS::HandleValueArray args = JS::HandleValueArray::fromMarkedLocation(2, valArr.begin()); ^ jni/../../Classes/manualanysdkbindings.cpp:1057:68: error: 'args' was not declared in this scope JS_CallFunctionValue(_ctx, thisObj, _jsCallback.ref(), args, &retval); ^ jni/../../Classes/manualanysdkbindings.cpp: In member function 'virtual void ProtocolAdsResultListener::onPlayerGetPoints(anysdk::framework::ProtocolAds*, int)': jni/../../Classes/manualanysdkbindings.cpp:1074:13: error: 'HandleValueArray' is not a member of 'JS' JS::HandleValueArray args = JS::HandleValueArray::fromMarkedLocation(2, valArr.begin()); ^ jni/../../Classes/manualanysdkbindings.cpp:1075:68: error: 'args' was not declared in this scope JS_CallFunctionValue(_ctx, thisObj, _jsCallback.ref(), args, &retval); ^ jni/../../Classes/jsb_anysdk_basic_conversions.cpp: In function 'bool anysdk::framework::jsval_to_TProductInfo(JSContext*, JS::HandleValue, anysdk::framework::TProductInfo*)': jni/../../Classes/jsb_anysdk_basic_conversions.cpp:23:76: error: cannot convert 'JS::RootedValue* {aka JS::Rooted<JS::Value>*}' to 'jsval* {aka JS::Value*}' for argument '3' to 'bool JS_IdToValue(JSContext*, jsid, jsval*)' if (! JS_NextProperty(cx, it, &idp) || ! JS_IdToValue(cx, idp, &key)) ^ jni/../../Classes/jsb_anysdk_basic_conversions.cpp: In function 'bool anysdk::framework::jsval_to_FBInfo(JSContext*, JS::HandleValue, StringMap*)': jni/../../Classes/jsb_anysdk_basic_conversions.cpp:58:70: error: cannot convert 'JS::RootedValue* {aka JS::Rooted<JS::Value>*}' to 'jsval* {aka JS::Value*}' for argument '3' to 'bool JS_IdToValue(JSContext*, jsid, jsval*)' if (! JS_NextProperty(cx, it, &idp) || ! JS_IdToValue(cx, idp, &key)) ^ jni/../../Classes/manualanysdkbindings.cpp: In member function 'virtual void ProtocolIAPResultListener::onPayResult(anysdk::framework::PayResultCode, const char*, anysdk::framework::TProductInfo)': jni/../../Classes/manualanysdkbindings.cpp:1235:13: error: 'HandleValueArray' is not a member of 'JS' JS::HandleValueArray args = JS::HandleValueArray::fromMarkedLocation(3, valArr.begin()); ^ jni/../../Classes/manualanysdkbindings.cpp:1236:68: error: 'args' was not declared in this scope JS_CallFunctionValue(_ctx, thisObj, _jsCallback.ref(), args, &retval); ^ jni/../../Classes/manualanysdkbindings.cpp: In member function 'virtual void ProtocolIAPResultListener::onRequestResult(anysdk::framework::RequestResultCode, const char*, anysdk::framework::AllProductsInfo)': jni/../../Classes/manualanysdkbindings.cpp:1281:13: error: 'HandleValueArray' is not a member of 'JS' JS::HandleValueArray args = JS::HandleValueArray::fromMarkedLocation(3, valArr.begin()); ^ jni/../../Classes/manualanysdkbindings.cpp:1282:68: error: 'args' was not declared in this scope JS_CallFunctionValue(_ctx, thisObj, _jsCallback.ref(), args, &retval); ^ jni/../../Classes/jsb_anysdk_basic_conversions.cpp: In function 'bool anysdk::framework::jsval_to_std_map_string_string(JSContext*, JS::HandleValue, std::map<std::basic_string<char>, std::basic_string<char> >*)': jni/../../Classes/jsb_anysdk_basic_conversions.cpp:213:76: error: cannot convert 'JS::RootedValue* {aka JS::Rooted<JS::Value>*}' to 'jsval* {aka JS::Value*}' for argument '3' to 'bool JS_IdToValue(JSContext*, jsid, jsval*)' if (! JS_NextProperty(cx, it, &idp) || ! JS_IdToValue(cx, idp, &key)) { ^ jni/../../Classes/jsb_anysdk_basic_conversions.cpp: In function 'jsval anysdk::framework::TProductInfo_to_jsval(JSContext*, anysdk::framework::TProductInfo&)': jni/../../Classes/jsb_anysdk_basic_conversions.cpp:245:84: error: cannot convert 'JS::NullPtr' to 'JSObject*' for argument '3' to 'JSObject* JS_NewObject(JSContext*, const JSClass*, JSObject*, JSObject*)' JS::RootedObject tmp(cx, JS_NewObject(cx, nullptr, JS::NullPtr(), JS::NullPtr())); ^ jni/../../Classes/jsb_anysdk_basic_conversions.cpp:250:148: error: invalid conversion from 'int' to 'JSPropertyOp {aka bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<int>, JS::MutableHandle<JS::Value>)}' -fpermissive] JS_DefineProperty(cx, tmp, it->first.c_str(), JS::RootedValue(cx, std_string_to_jsval(cx, it->second)), JSPROP_ENUMERATE | JSPROP_PERMANENT); ^ jni/../../Classes/jsb_anysdk_basic_conversions.cpp:250:148: error: too few arguments to function 'bool JS_DefineProperty(JSContext*, JSObject*, const char*, jsval, JSPropertyOp, JSStrictPropertyOp, unsigned int)' In file included from jni/../../Classes/jsb_anysdk_basic_conversions.h:4:0, from jni/../../Classes/jsb_anysdk_basic_conversions.cpp:1: /Applications/Cocos/frameworks/cocos2d-x-3.5/external/spidermonkey/prebuilt/android/../../include/android/jsapi.h:2732:1: note: declared here JS_DefineProperty(JSContext *cx, JSObject *obj, const char *name, jsval value, ^ jni/../../Classes/jsb_anysdk_protocols_auto.cpp: In function 'bool dummy_constructor(JSContext*, uint32_t, jsval*)': jni/../../Classes/jsb_anysdk_protocols_auto.cpp:34:53: error: request for member 'get' in 'typeClass->.proto', which is of pointer type 'JSObject*' (maybe you meant to use '->' ?) JS::RootedObject proto(cx, typeClass->proto.get()); ^ jni/../../Classes/jsb_anysdk_protocols_auto.cpp:35:60: error: request for member 'get' in 'typeClass->.parentProto', which is of pointer type 'JSObject*' (maybe you meant to use '->' ?) JS::RootedObject parent(cx, typeClass->parentProto.get()); ^ jni/../../Classes/jsb_anysdk_protocols_auto.cpp:40:35: error: there are no arguments to 'AddObjectRoot' that depend on a template parameter, so a declaration of 'AddObjectRoot' must be available -fpermissive] AddObjectRoot(cx, &pp->obj); ^ jni/../../Classes/jsb_anysdk_protocols_auto.cpp:40:35: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) jni/../../Classes/jsb_anysdk_protocols_auto.cpp: In function 'void js_register_anysdk_framework_PluginProtocol(JSContext*, JS::HandleObject)': jni/../../Classes/jsb_anysdk_protocols_auto.cpp:188:17: error: cannot convert 'JS::NullPtr' to 'JSObject*' for argument '3' to 'JSObject* JS_InitClass(JSContext*, JSObject*, JSObject*, const JSClass*, JSNative, unsigned int, const JSPropertySpec*, const JSFunctionSpec*, const JSPropertySpec*, const JSFunctionSpec*)' st_funcs); ^ jni/../../Classes/jsb_anysdk_protocols_auto.cpp: In function 'void js_register_anysdk_framework_PluginFactory(JSContext*, JS::HandleObject)': jni/../../Classes/jsb_anysdk_protocols_auto.cpp:298:17: error: cannot convert 'JS::NullPtr' to 'JSObject*' for argument '3' to 'JSObject* JS_InitClass(JSContext*, JSObject*, JSObject*, const JSClass*, JSNative, unsigned int, const JSPropertySpec*, const JSFunctionSpec*, const JSPropertySpec*, const JSFunctionSpec*)' st_funcs); ^ jni/../../Classes/jsb_anysdk_protocols_auto.cpp: In function 'void js_register_anysdk_framework_PluginManager(JSContext*, JS::HandleObject)': jni/../../Classes/jsb_anysdk_protocols_auto.cpp:471:17: error: cannot convert 'JS::NullPtr' to 'JSObject*' for argument '3' to 'JSObject* JS_InitClass(JSContext*, JSObject*, JSObject*, const JSClass*, JSNative, unsigned int, const JSPropertySpec*, const JSFunctionSpec*, const JSPropertySpec*, const JSFunctionSpec*)' st_funcs); ^ jni/../../Classes/manualanysdkbindings.cpp: In member function 'virtual void ProtocolPushActionListener::onActionResult(anysdk::framework::ProtocolPush*, anysdk::framework::PushActionResultCode, const char*)': jni/../../Classes/manualanysdkbindings.cpp:1436:13: error: 'HandleValueArray' is not a member of 'JS' JS::HandleValueArray args = JS::HandleValueArray::fromMarkedLocation(3, valArr.begin()); ^ jni/../../Classes/manualanysdkbindings.cpp:1437:68: error: 'args' was not declared in this scope JS_CallFunctionValue(_ctx, thisObj, _jsCallback.ref(), args, &retval); ^ jni/../../Classes/manualanysdkbindings.cpp: In member function 'virtual void ProtocolUserActionListener::onActionResult(anysdk::framework::ProtocolUser*, anysdk::framework::UserActionResultCode, const char*)': jni/../../Classes/manualanysdkbindings.cpp:1634:13: error: 'HandleValueArray' is not a member of 'JS' JS::HandleValueArray args = JS::HandleValueArray::fromMarkedLocation(3, valArr.begin()); ^ jni/../../Classes/manualanysdkbindings.cpp:1635:68: error: 'args' was not declared in this scope JS_CallFunctionValue(_ctx, thisObj, _jsCallback.ref(), args, &retval); ^ jni/../../Classes/manualanysdkbindings.cpp: In member function 'virtual void ProtocolSocialListener::onSocialResult(anysdk::framework::SocialRetCode, const char*)': jni/../../Classes/manualanysdkbindings.cpp:1739:13: error: 'HandleValueArray' is not a member of 'JS' JS::HandleValueArray args = JS::HandleValueArray::fromMarkedLocation(2, valArr.begin()); ^ jni/../../Classes/manualanysdkbindings.cpp:1740:68: error: 'args' was not declared in this scope JS_CallFunctionValue(_ctx, thisObj, _jsCallback.ref(), args, &retval); ^ jni/../../Classes/manualanysdkbindings.cpp: In function 'void register_all_anysdk_manual(JSContext*, JS::HandleObject)': jni/../../Classes/manualanysdkbindings.cpp:1861:55: error: 'get_or_create_js_obj' was not declared in this scope get_or_create_js_obj(cx, obj, "anysdk", &anysdkObj); ^ jni/../../Classes/jsb_anysdk_protocols_auto.cpp: In function 'void js_register_anysdk_framework_AgentManager(JSContext*, JS::HandleObject)': jni/../../Classes/jsb_anysdk_protocols_auto.cpp:1992:17: error: cannot convert 'JS::NullPtr' to 'JSObject*' for argument '3' to 'JSObject* JS_InitClass(JSContext*, JSObject*, JSObject*, const JSClass*, JSNative, unsigned int, const JSPropertySpec*, const JSFunctionSpec*, const JSPropertySpec*, const JSFunctionSpec*)' st_funcs); ^ jni/../../Classes/jsb_anysdk_protocols_auto.cpp: In function 'void register_all_anysdk_framework(JSContext*, JS::HandleObject)': jni/../../Classes/jsb_anysdk_protocols_auto.cpp:2015:48: error: 'get_or_create_js_obj' was not declared in this scope get_or_create_js_obj(cx, obj, "anysdk", &ns); ^ At global scope: cc1plus: warning: unrecognized command line option "-Wno-extern-c-compat" cc1plus: warning: unrecognized command line option "-Wno-extern-c-compat" make: *** Error 1 make: *** Waiting for unfinished jobs.... At global scope: cc1plus: warning: unrecognized command line option "-Wno-extern-c-compat" cc1plus: warning: unrecognized command line option "-Wno-extern-c-compat" make: *** Error 1 At global scope: cc1plus: warning: unrecognized command line option "-Wno-extern-c-compat" cc1plus: warning: unrecognized command line option "-Wno-extern-c-compat" make: *** Error 1 make: Leaving directory /Users/imhero/Tools/Cocos2d-UI/CocosJSGameStarLanding/frameworks/runtime-src/proj.android’
running: ‘/Users/imhero/Tools/Cocos2d-2015/cocos2d-js-root/android-sdk/tools/android update project -t android-10 -p /Users/imhero/Tools/Cocos2d-UI/CocosJSGameStarLanding/frameworks/runtime-src/proj.android’
building native
NDK build mode: debug
NDK_TOOLCHAIN_VERSION: 4.9
running: ‘/Users/imhero/Tools/Cocos2d-2015/cocos2d-js-root/android-ndk/ndk-build -C /Users/imhero/Tools/Cocos2d-UI/CocosJSGameStarLanding/frameworks/runtime-src/proj.android -j3 NDK_MODULE_PATH=/Applications/Cocos/frameworks/cocos2d-x-3.5:/Applications/Cocos/frameworks/cocos2d-x-3.5/cocos:/Applications/Cocos/frameworks/cocos2d-x-3.5/external NDK_TOOLCHAIN_VERSION=4.9 NDK_DEBUG=1’
Ndk build failed!


好吧,我先检查一下环境,然后再看看,谢谢!