@@ -351,6 +351,7 @@ def build_android(self):
351
351
return
352
352
353
353
project_dir = self ._project .get_project_dir ()
354
+ project_android_dir = self ._platforms .project_path ()
354
355
build_mode = self ._mode
355
356
output_dir = self ._output_dir
356
357
if self ._project ._is_script_project ():
@@ -361,10 +362,26 @@ def build_android(self):
361
362
else :
362
363
cocos_root = os .path .join (project_dir , 'cocos2d' )
363
364
365
+ if not os .path .exists (cocos_root ):
366
+ # get the cocos root from environment variable
367
+ if self ._project ._is_script_project ():
368
+ if self ._project ._is_lua_project ():
369
+ var_name = "COCOS_X_ROOT"
370
+ else :
371
+ var_name = "COCOS_JS_ROOT"
372
+ else :
373
+ var_name = "COCOS_X_ROOT"
374
+
375
+ cocos_root = cocos .check_environment_variable (var_name )
376
+ if self ._project ._is_js_project ():
377
+ cocos_root = os .path .join (cocos_root , "frameworks" , "js-bindings" , "cocos2d-x" )
378
+
379
+ if not os .path .exists (cocos_root ):
380
+ raise cocos .CCPluginError ("Can't find the engine in path : %s" % cocos_root )
381
+
364
382
# check environment variable
365
383
ant_root = cocos .check_environment_variable ('ANT_ROOT' )
366
384
sdk_root = cocos .check_environment_variable ('ANDROID_SDK_ROOT' )
367
- project_android_dir = self ._platforms .project_path ()
368
385
369
386
from build_android import AndroidBuilder
370
387
builder = AndroidBuilder (self ._verbose , cocos_root , project_android_dir , self ._no_res , self ._project )
0 commit comments