导入项目后,提示“Cocos2dxActivity cannot be resolved to a type”错误。如何解决这种错误呢?
将项目中D:\androidCocos\test\cocos2d\cocos\platform\android\java\src的文件粘贴到项目的src。
不过问题来了,每次这么创建都要去copy实在是太麻烦了。修改模板类中的build_native.py。你可以在“cocos2d-x-3.2/templates/cpp-template-default/proj.android”下找到build_native.py进行修改。
![](http://imgsrc.baidu.com/forum/w%3D580/sign=11ae2a6072c6a7efb926a82ecdfbafe9/1d46392397dda1445b8be30db6b7d0a20df48625.jpg)
def copy_resources(app_android_root):
# remove app_android_root/assets if it exists
assets_dir = os.path.join(app_android_root, "assets")
if os.path.isdir(assets_dir):
shutil.rmtree(assets_dir)
# copy resources
os.mkdir(assets_dir)
resources_dir = os.path.join(app_android_root, "../Resources")
if os.path.isdir(resources_dir):
copy_files(resources_dir, assets_dir)
#--------copy cocos_lib_path start------------
def copy_src_files(src, dst):
for item in os.listdir(src):
path = os.path.join(src, item)
if not item.startswith('.') and os.path.isfile(path):
shutil.copy(path, dst)
if os.path.isdir(path):
new_dst = os.path.join(dst, item)
if not os.path.exists(new_dst):
os.mkdir(new_dst)
copy_src_files(path, new_dst)
def copy_src(app_android_root,cocos_root):
android_src_dir = os.path.join(app_android_root,"src")
cocos_src_path = os.path.join(cocos_root, "cocos/platform/android/java/src")
if not os.path.exists(android_src_dir) :
os.mkdir(android_src_dir)
if os.path.isdir(cocos_src_path):
copy_src_files(cocos_src_path,android_src_dir)
#--------copy cocos_lib_path end-----------
def build(ndk_build_param,android_platform,build_mode):
ndk_root = check_environment_variables()
sdk_root = None
select_toolchain_version()
current_dir = os.path.dirname(os.path.realpath(__file__))
cocos_root = os.path.join(current_dir, "../cocos2d")
app_android_root = current_dir
copy_resources(app_android_root)
#-----------------add copy src ------------
copy_src(app_android_root,cocos_root)
if android_platform is not None:
sdk_root = check_environment_variables_sdk()
if android_platform.isdigit():
android_platform = 'android-'+android_platform
else:
print 'please use vaild android platform'
exit(1)