首页 > 解决方案 > IOError: [Errno 2] 没有这样的文件或目录:目录...proj.android\\app/build/outputs/apk\\debug\\app-debug.apk

问题描述

我是 android 开发和 cocos2dx 的新手,所以需要一些帮助。起初我试图从 Android Studio 运行项目,但游戏因某种错误“找不到”libcocos2dcpp.so 而崩溃,并且没有 libcocos2dcpp .so 在我的任何架构文件夹中。所以有人建议我首先使用控制台构建项目,它将在架构文件夹中生成该文件。但是当我尝试通过控制台编译代码时,成功构建过程后会出现此错误,我不'没有得到 apk 文件,也没有生成任何 libcocos2dcpp.so 文件。

由于我是新手,所以请尽可能简单地回答。太感谢了

控制台日志:

> BUILD SUCCESSFUL in 2m 15s 106 actionable tasks: 1 executed, 105
> up-to-date Traceback (most recent call last):   File
> "C:\Users\fahad\Desktop\envriomentsetup\cocos2d-x-3.17.2\cocos2d-x-3.17.2
> \tools\cocos2d-console\bin\/cocos.py", line 1081, in <module>
>     run_plugin(command, argv, plugins)   File "C:\Users\fahad\Desktop\envriomentsetup\cocos2d-x-3.17.2\cocos2d-x-3.17.2
> \tools\cocos2d-console\bin\/cocos.py", line 970, in run_plugin
>     plugin.run(argv, dependencies_objects)   File "C:\Users\fahad\Desktop\envriomentsetup\cocos2d-x-3.17.2\cocos2d-x-3.17.2
> \tools\cocos2d-console\plugins\plugin_compile\project_compile.py",
> line 1530, in  run
>     self.build_android()   File "C:\Users\fahad\Desktop\envriomentsetup\cocos2d-x-3.17.2\cocos2d-x-3.17.2
> \tools\cocos2d-console\plugins\plugin_compile\project_compile.py",
> line 540, in build_android
>     self.apk_path = builder.do_build_apk(build_mode, self._no_apk, self._no_sign , output_dir, self._custom_step_args, self._ap, self)  
> File
> "C:\Users\fahad\Desktop\envriomentsetup\cocos2d-x-3.17.2\cocos2d-x-3.17.2
> \tools\cocos2d-console\plugins\plugin_compile\build_android.py", line
> 571, in do_build_apk
>     shutil.copy(gen_apk_path, output_dir)   File "C:\Python27\lib\shutil.py", line 139, in copy
>     copyfile(src, dst)   File "C:\Python27\lib\shutil.py", line 96, in copyfile
>     with open(src, 'rb') as fsrc: IOError: [Errno 2] No such file or directory:
> 'C:\\Users\\fahad\\Desktop\\projectsteam\\proj.android\\app/build/outputs/apk\\debug\\app-debug.apk'

标签: androidcocos2d-xcocos2d-x-3.0cocos2d-android

解决方案


我通过 upwork 看到了你的问题。我见过很多像你一样的 cocos2d 问题。逐步检查您的项目:

  • 你的项目使用的是cocos版本?(可以在文件:.cocos-project.json 中查看) 可能是你的项目使用了旧的 cocos 版本,这种情况你是用最新的 cocos 编译的。
  • cocos2d框架的检查要求:NDK版本稳定,sdk版本,python版本,...

  • 检查项目中的 jni,确保编译的库名称为 libcoco2dcpp 它位于路径:proj.android\app\jni\Android.mk。在这种情况下,它将是 LOCAL_MODULE_FILENAME := libcocos2dcpp

  • 创建一个新的 hello wolrd 项目并尝试构建它。如果它有问题,修复它很容易,然后将你项目上的代码一一复制到这个并尝试重新编译以查找错误。

=> 我已经通过 cocos2d-x 3.17.2 创建了新的 Helloworld 项目。jni 文件的代码有 LOCAL_MODULE_FILENAME := libMyGame 可能是您使用最新的 cocos2d 控制台编译旧项目并导致此错误


推荐阅读