Comment créer un projet Android ndk Cocos2d-x v3.0 Beta 2
-
23-12-2019 - |
Question
J'ai réussi la construction avec cocos2d-x v2.2.2.Puis je suis ce tutoriel pour construire le projet cocos2d-x v3.0 bêta 2
La commande project-creator
a bien fonctionné et je peux créer tous les projets de plate-forme pris en charge.
Tout va bien sauf que j'ai une erreur avec build_native.py
scénario:
line 25
print "Can't know cpuinfo, use default 1 cpu"
^
SyntaxError: invalid syntax
Comme je n'ai aucune expérience avec Python, je n'ai donc aucune idée de ce bug.
Voici le détail de mon environnement :
- Dernier python pour Windows 3.3.4
- Windows 8, 64 bits
- Dernier SDK Android R22.3, NDK R9C
- Vous avez déjà défini ces variables d'environnement :
ANDROID_SDK_ROOT
,NDK_ROOT
,ANDROID_SDK_ROOT/platform_tools
,ANDROID_SDK_ROOT/tools
Pour la variable NDK_MODULE_PATH
, je ne trouve pas de dossier commeplatform\third_party\android\prebuilt
dans cocos2d-x v3.0, donc je ne sais pas quoi en faire
Est-ce que j'ai raté quelque chose ?
Mise à jour:après avoir cherché sur Google, j'ai trouvé que sur Python 3, print devait être utilisé comme méthode, comme print("")
, puis je remplace toutes les tabulations par des espaces pour éviter inconsistent use of tabs and spaces in indentation
erreur.Mais j'ai encore une autre exception :
The Selected NDK toolchain version was 4.8 !
make.exe: *** D:\SycnDir\game: No such file or directory. Stop.
Traceback (most recent call last):
File "D:\My Games\proj.android\build_native.py", line 166, in <module>
build(opts.ndk_build_param,opts.android_platform,opts.build_mode)
File "D:\My Games\proj.android\build_native.py", line 153, in build
do_build(cocos_root, ndk_root, app_android_root,ndk_build_param,sdk_root,android_platform,build_mode)
File "D:\My Games\proj.android\build_native.py", line 89, in do_build
raise Exception("Build dynamic library for project [ " + app_android_root +
" ] fails!")
Exception: Build dynamic library for project [ D:\My Games\proj.android ] fails!
La solution
Enfin, je peux le faire fonctionner.L'exception est levée sur ces lignes :
if os.system(command) != 0
raise Exception(“Build dynamic library for project [ " + app_android_root + " ] fails!”)
Et je découvre que les caractères d'espacement sur le chemin de mon dossier ont provoqué l'échec de la construction de ndk.Je ne peux pas croire que ce stupide bug me fasse perdre deux jours.
Maintenant, je viens de déplacer mon projet dans un dossier sans espace et cela a fonctionné à merveille.
Autres conseils
La version bêta de cocos2d-x 3.0 ne fonctionne pour le moment qu'avec Python 2.7.Je suggère de revenir à Python 2.7 au lieu d'essayer de déboguer le script pour Python 3.0.