2016-04-15 2 views
2

J'essaye de construire une apk pour une application python3/kivy simple en utilisant buildozer dans la machine virtuelle que j'ai obtenu directement de kivy.org, c'est day2 et toujours pas de chance. J'ai eu beaucoup d'erreurs, instaled pip, mise à jour buildozer, pip installé morse, pnglab, sh, appdirs, setuptools pour py3, mais maintenant j'ai eu cette erreur et je dois admettre qu'il m'a vraiment, tout le monde sait ce que c'est? J'apprécierais beaucoup une réponse car je prévois de faire le développement de droid mon travail un jour, merci. Ceci est l'erreur:
AttributeError: objet 'Contexte' n'a pas d'attribut 'hostpython'Kivy Buildozer AttributeError: L'objet 'Context' n'a pas d'attribut 'hostpython'

Et le retraçage:

Traceback (most recent call last): 
File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main "__main__", fname, loader, pkg_name) 
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code exec code in run_globals 
File "/home/kivy/Desktop/TextEditor/.buildozer/android/platform/python-for android-master/pythonforandroid/toolchain.py", line 747, in <module> main() 
File "/home/kivy/Desktop/TextEditor/.buildozer/android/platform/python-for android-master/pythonforandroid/toolchain.py", line 744, in main ToolchainCL() 
File "/home/kivy/Desktop/TextEditor/.buildozer/android/platform/python-for android-master/pythonforandroid/toolchain.py", line 323, in __init__ getattr(self, args.command)(unknown) 
File "/home/kivy/Desktop/TextEditor/.buildozer/android/platform/python-for android-master/pythonforandroid/toolchain.py", line 105, in wrapper_func build_dist_from_args(ctx, dist, dist_args) 
File "/home/kivy/Desktop/TextEditor/.buildozer/android/platform/python-for android-master/pythonforandroid/toolchain.py", line 142, in build_dist_from_args build_recipes(build_order, python_modules, ctx) 
File "pythonforandroid/build.py", line 560, in build_recipes recipe.build_arch(arch) 
File "/home/kivy/Desktop/TextEditor/.buildozer/android/platform/python-for android-master/pythonforandroid/recipes/python2/__init__.py", line 44, in build_arch self.do_python_build(arch) 
File "/home/kivy/Desktop/TextEditor/.buildozer/android/platform/python-for android-master/pythonforandroid/recipes/python2/__init__.py", line 76, in do_python_build shprint(sh.cp, self.ctx.hostpython, self.get_build_dir(arch.arch)) 
AttributeError: 'Context' object has no attribute 'hostpython' 
# Command failed: python -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=kivy --arch armeabi-v7a --copy-libs 
# 
+0

Probablement devrait mentionner cette erreur apparaît à la commande $ buildozer android_new debug. – Konrad

Répondre

8

Cela provient d'un bogue dans le nouveau python-for-android toolchain (qui les utilisations de la cible android_new buildozer). Vous pouvez contourner ce problème en ajoutant votre cible de version python aux exigences, par ex. requirements = kivy,python2.

+0

Hey man, c'était une bonne idée, requirements = kivy, python2 n'a pas vraiment fonctionné pour moi, mais requirements = kivy, python a fait – Konrad

+0

Pour new toolchain (déclenché par 'buildozer android_new') ce sera ** python2 **, pour les anciens ('buildozer android') - ** python **. –

+0

L'ancien toolchain n'a pas ce problème – inclement

2

Kivy 1.9 Si vous le code en python 2 dans votre fichier buildozer.spec

exigences = Kivy, python2

pour python3 exigences = Kivy, python3