IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

[Buildozer] Transformer une application en APK


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 59
    Par défaut [Buildozer] Transformer une application en APK
    Bonjour,

    J'ai développé une petite application en Python/Kivy qui fonctionne correctement sur mon pc et j'aimerai la transformer en APK pour la tester sur mon téléphone.

    J'ai suivi les explications données sur internet en apportant quelques modifications au fichier spec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    buildozer init
    buildozer android debug deploy run
    la compilation se lance bien mais j'aboutis sur un message d'erreur que je n'arrive pas à débloquer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
    Un peu plus de détails ici
    https://bin.infini.fr/?ca46701fb0c9e...CLqtxGKo6pPrH2

    je suis preneur d'un coup de main

    merci

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 889
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 889
    Par défaut
    Hello,

    Il manque le paquet requis pour SSL sur votre système je pense: libssl-dev
    Sur debian/ubuntu, installez ces paquets,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sudo apt update
    sudo apt install build-essential libssl-dev zlib1g-dev libffi-dev libreadline-dev libbz2-dev libsqlite3-dev
    Après nettoyez et compilez à nouveau,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    buildozer android clean
    buildozer android debug
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Membre averti
    Inscrit en
    Septembre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 59
    Par défaut
    Merci fred1599,
    J'ai installé ces paquets et cela m'a débloqué la situation, la compilation n'aboutit cependant pas, j'ai ce message d'erreur
    Starting a Gradle Daemon, 1 incompatible and 2 stopped Daemons could not be reused, use --status for details
    j'ai vu cette erreur décrite ailleurs sur le web, mais sans apporter de solution

    voilà un peu plus de détails

    [DEBUG]: Create directory src/main/assets
    Compiling '/document/toto/CochonsApp/.buildozer/android/app/main.py'...
    Compiling '/document/toto/CochonsApp/.buildozer/android/app/fonctions.py'...
    Compiling '/document/toto/CochonsApp/.buildozer/android/app/sitecustomize.py'...
    [DEBUG]: Remove directory and subdirectory /tmp/p4a-extra-env-c4zctbr1
    [DEBUG]: Remove directory and subdirectory src/main/res
    [INFO]: Detected highest available build tools version to be 37.0.0-rc1
    [DEBUG]: -> running gradlew clean assembleDebug
    [DEBUG]: Starting a Gradle Daemon, 1 incompatible and 2 stopped Daemons could not be reused, use --status for details
    [DEBUG]:
    [DEBUG]: [Incubating] Problems report is available at: file:///document/toto/CochonsApp/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/Cochons/build/reports/problems/problems-report.html
    [DEBUG]:
    [DEBUG]: FAILURE: Build failed with an exception.
    [DEBUG]:
    [DEBUG]: * Where:
    [DEBUG]: Build file '/document/toto/CochonsApp/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/Cochons/build.gradle' line: 30
    [DEBUG]:
    [DEBUG]: * What went wrong:
    [DEBUG]: A problem occurred evaluating root project 'Cochons'.
    [DEBUG]: > Value is null
    [DEBUG]:
    [DEBUG]: * Try:
    [DEBUG]: > Run with --stacktrace option to get the stack trace.
    [DEBUG]: > Run with --info or --debug option to get more log output.
    [DEBUG]: > Run with --scan to get full insights.
    [DEBUG]: > Get more help at https://help.gradle.org.
    [DEBUG]:
    [DEBUG]: Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
    [DEBUG]:
    [DEBUG]: You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
    [DEBUG]:
    [DEBUG]: For more on this, please refer to https://docs.gradle.org/8.14.3/userg..._line_warnings in the Gradle documentation.
    [DEBUG]:
    [DEBUG]: BUILD FAILED in 13s

    Exception in thread background thread for pid 3662:
    Traceback (most recent call last):
    File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
    self.run()
    File "/usr/lib/python3.11/threading.py", line 975, in run
    self._target(*self._args, **self._kwargs)
    File "/document/toto/lib/python3.11/site-packages/sh.py", line 1642, in wrap
    fn(*rgs, **kwargs)
    File "/document/toto/lib/python3.11/site-packages/sh.py", line 2647, in background_thread
    handle_exit_code(exit_code)
    File "/document/toto/lib/python3.11/site-packages/sh.py", line 2338, in fn
    return self.command.handle_command_exit_code(exit_code)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/document/toto/lib/python3.11/site-packages/sh.py", line 823, in handle_command_exit_code
    raise exc
    sh.ErrorReturnCode_1:

    RAN: /document/toto/CochonsApp/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/Cochons/gradlew clean assembleDebug

    STDOUT:
    Starting a Gradle Daemon, 1 incompatible and 2 stopped Daemons could not be reused, use --status for details

    [Incubating] Problems report is available at: file:///document/toto/CochonsApp/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/Cochons/build/reports/problems/problems-report.html

    FAILURE: Build failed with an exception.

    * Where:
    Build file '/document/toto/CochonsApp/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/Cochons/build.gradle' line: 30

    * What went wrong:
    A problem occurred evaluating root project 'Cochons'.
    > Value is null

    * Try:
    > Run with --stacktrace option to get the stack trace.
    > Run with --info or --debug option to get more log output.
    > Run with --scan to get full insights.
    > Get more help at https://help.gradle.org.

    Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

    You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

    For more on this, please refer to https://docs.gradle.org/8.14.3/userg..._line_warnings in the Gradle documentation.

    BUILD FAILED in 13s


    STDERR:

    [INFO]: STDOUT (last 20 lines of 33):
    * What went wrong:
    A problem occurred evaluating root project 'Cochons'.
    > Value is null

    * Try:
    > Run with --stacktrace option to get the stack trace.
    > Run with --info or --debug option to get more log output.
    > Run with --scan to get full insights.
    > Get more help at https://help.gradle.org.

    Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

    You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

    For more on this, please refer to https://docs.gradle.org/8.14.3/userg..._line_warnings in the Gradle documentation.

    BUILD FAILED in 13s

    [INFO]: STDERR:

  4. #4
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 889
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 889
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [INFO]: Detected highest available build tools version to be 37.0.0-rc1
    Les versions -rc (Release Candidate) sont instables et souvent incompatibles avec les scripts Gradle par défaut de Buildozer, ce qui provoque l'erreur Value is null.

    Ouvrez votre fichier buildozer.spec et recherchez la ligne concernant la version des outils de construction. Par défaut, elle est souvent commentée ou laissée vide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    android.build_tools_version = 34.0.0
    android.api = 34
    android.ndk = 25b
    Ensuite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    buildozer android clean
    buildozer -v android debug
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  5. #5
    Membre averti
    Inscrit en
    Septembre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 59
    Par défaut
    Je viens de générer un nouveau fichier spec (bluidozer init) et je n'ai pas apporté de modifications sur la version des outils à utiliser (ligne restée commentée).

    [DEBUG]: clang-14: error: no such file or directory: 'jnius/jnius.c'
    [DEBUG]: creating build/temp.linux-x86_64-3.11/jnius
    [DEBUG]: /home/antoine/.buildozer/android/platform/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -target aarch64-linux-android21 -fomit-frame-pointer -march=armv8-a -fPIC -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -target aarch64-linux-android21 -fomit-frame-pointer -march=armv8-a -fPIC -I/document/toto/CochonsApp/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include -DANDROID -I/home/antoine/.buildozer/android/platform/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include -I/document/toto/CochonsApp/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/Cochonss/arm64-v8a/include/python3.1 -fPIC -I/document/toto/CochonsApp/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Include -I/document/toto/CochonsApp/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build -c jnius/jnius.c -o build/temp.linux-x86_64-3.11/jnius/jnius.o
    [DEBUG]: clang-14: error: no such file or directory: 'jnius/jnius.c'
    [DEBUG]: clang-14: error: no input files
    [DEBUG]: error: command '/home/antoine/.buildozer/android/platform/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang' failed with exit code 1
    Exception in thread background thread for pid 84905:
    Traceback (most recent call last):
    File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
    self.run()
    File "/usr/lib/python3.11/threading.py", line 975, in run
    self._target(*self._args, **self._kwargs)
    File "/document/toto/lib/python3.11/site-packages/sh.py", line 1641, in wrap
    fn(*rgs, **kwargs)
    File "/document/toto/lib/python3.11/site-packages/sh.py", line 2569, in background_thread
    handle_exit_code(exit_code)
    File "/document/toto/lib/python3.11/site-packages/sh.py", line 2269, in fn
    return self.command.handle_command_exit_code(exit_code)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/document/toto/lib/python3.11/site-packages/sh.py", line 869, in handle_command_exit_code
    raise exc
    sh.ErrorReturnCode_1:

    RAN: /document/toto/CochonsApp/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/python3 setup.py build_ext -v

    STDOUT:
    warning: [options] bootstrap class path not set in conjunction with -source 8
    1 warning
    running build_ext
    building 'jnius' extension
    creating build
    creating build/temp.linux-x86_64-3.11
    creating build/temp.linux-x86_64-3.11/jnius
    /home/antoine/.buildozer/android/platform/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -target aarch64-linux-android21 -fomit-frame-pointer -march=armv8-a -fPIC -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -target aarch64-linux-android21 -fomit-frame-pointer -march=armv8-a -fPIC -I/document/toto/CochonsApp/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include -DANDROID -I/home/antoine/.buildozer/android/platform/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include -I/document/toto/CochonsApp/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/Cochonss/arm64-v8a/include/python3.1 -fPIC -I/document/toto/CochonsApp/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Include -I/document/toto/CochonsApp/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build -c jnius/jnius.c -o build/temp.linux-x86_64-3.11/jnius/jnius.o
    clang-14: error: no such file or directory: 'jnius/jnius.c'
    clang-14: error: no input files
    error: command '/home/antoine/.buildozer/android/platform/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang' failed with exit code 1


    STDERR:

    [INFO]: pyjnius first build failed (as expected)
    [INFO]: Running cython where appropriate
    [INFO]: Cythonize jnius/jnius.pyx
    [DEBUG]: -> running python3 -cimport sys; from Cython.Compiler.Main import setuptools_main; sys.exit(setuptools_main()); ./jnius/jnius.pyx
    [DEBUG]: warning: jnius/jnius.pyx:102:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
    [DEBUG]:
    [DEBUG]: Error compiling Cython file:
    [DEBUG]: ------------------------------------------------------------
    [DEBUG]: ...
    [DEBUG]: score += 10
    [DEBUG]: continue
    [DEBUG]:
    [DEBUG]: if r == 'S' or r == 'I':
    [DEBUG]: if isinstance(arg, int) or (
    [DEBUG]: (isinstance(arg, long) and arg < 2147483648)):
    [DEBUG]: ^
    [DEBUG]: ------------------------------------------------------------
    [DEBUG]: jnius/jnius_utils.pxi:323:37: undeclared name not builtin: long
    Exception in thread background thread for pid 84935:
    Traceback (most recent call last):
    File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
    self.run()
    File "/usr/lib/python3.11/threading.py", line 975, in run
    self._target(*self._args, **self._kwargs)
    File "/document/toto/lib/python3.11/site-packages/sh.py", line 1641, in wrap
    fn(*rgs, **kwargs)
    File "/document/toto/lib/python3.11/site-packages/sh.py", line 2569, in background_thread
    handle_exit_code(exit_code)
    File "/document/toto/lib/python3.11/site-packages/sh.py", line 2269, in fn
    return self.command.handle_command_exit_code(exit_code)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/document/toto/lib/python3.11/site-packages/sh.py", line 869, in handle_command_exit_code
    raise exc
    sh.ErrorReturnCode_1:

    RAN: /document/toto/bin/python3 '-cimport sys; from Cython.Compiler.Main import setuptools_main; sys.exit(setuptools_main());' ./jnius/jnius.pyx

    STDOUT:
    warning: jnius/jnius.pyx:102:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    score += 10
    continue

    if r == 'S' or r == 'I':
    if isinstance(arg, int) or (
    (isinstance(arg, long) and arg < 2147483648)):
    ^
    ------------------------------------------------------------
    jnius/jnius_utils.pxi:323:37: undeclared name not builtin: long


    STDERR:

    Traceback (most recent call last):
    File "<frozen runpy>", line 198, in _run_module_as_main
    File "<frozen runpy>", line 88, in _run_code
    File "/document/toto/CochonsApp/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 1256, in <module>
    main()
    File "/document/toto/CochonsApp/.buildozer/android/platform/python-for-android/pythonforandroid/entrypoints.py", line 18, in main
    ToolchainCL()
    File "/document/toto/CochonsApp/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 685, in __init__
    getattr(self, command)(args)
    File "/document/toto/CochonsApp/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 104, in wrapper_func
    build_dist_from_args(ctx, dist, args)
    File "/document/toto/CochonsApp/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 163, in build_dist_from_args
    build_recipes(build_order, python_modules, ctx,
    File "/document/toto/CochonsApp/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 504, in build_recipes
    recipe.build_arch(arch)
    File "/document/toto/CochonsApp/.buildozer/android/platform/python-for-android/pythonforandroid/recipe.py", line 1031, in build_arch
    self.build_cython_components(arch)
    File "/document/toto/CochonsApp/.buildozer/android/platform/python-for-android/pythonforandroid/recipe.py", line 1056, in build_cython_components
    self.cythonize_build(env=env)
    File "/document/toto/CochonsApp/.buildozer/android/platform/python-for-android/pythonforandroid/recipe.py", line 1104, in cythonize_build
    self.cythonize_file(env, build_dir, join(root, filename))
    File "/document/toto/CochonsApp/.buildozer/android/platform/python-for-android/pythonforandroid/recipe.py", line 1093, in cythonize_file
    shprint(python_command, "-c"
    File "/document/toto/CochonsApp/.buildozer/android/platform/python-for-android/pythonforandroid/logger.py", line 167, in shprint
    for line in output:
    File "/document/toto/lib/python3.11/site-packages/sh.py", line 915, in next
    self.wait()
    File "/document/toto/lib/python3.11/site-packages/sh.py", line 845, in wait
    self.handle_command_exit_code(exit_code)
    File "/document/toto/lib/python3.11/site-packages/sh.py", line 869, in handle_command_exit_code
    raise exc
    sh.ErrorReturnCode_1:

    RAN: /document/toto/bin/python3 '-cimport sys; from Cython.Compiler.Main import setuptools_main; sys.exit(setuptools_main());' ./jnius/jnius.pyx

    STDOUT:
    warning: jnius/jnius.pyx:102:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    score += 10
    continue

    if r == 'S' or r == 'I':
    if isinstance(arg, int) or (
    (isinstance(arg, long) and arg < 2147483648)):
    ^
    ------------------------------------------------------------
    jnius/jnius_utils.pxi:323:37: undeclared name not builtin: long


    STDERR:

    je vais maintenant reternter en imposant la version des outils à utiliser (android.build_tools_version n'est pas dispo dans le fichier spec)

  6. #6
    Membre averti
    Inscrit en
    Septembre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 59
    Par défaut
    même résultat en spécifiant la version des outils

Discussions similaires

  1. Transformer une application en éditeur Eclipse
    Par DaveShot dans le forum Eclipse Platform
    Réponses: 12
    Dernier message: 23/04/2010, 18h47
  2. [Logiciel] Transformer une application JAVA (jar) en .dmg?
    Par midiweb dans le forum Apple
    Réponses: 6
    Dernier message: 31/01/2010, 21h52
  3. Transformer une application en applet
    Par kayenne77 dans le forum Applets
    Réponses: 1
    Dernier message: 21/07/2009, 12h44
  4. Réponses: 12
    Dernier message: 21/08/2008, 13h22
  5. Transformer une application avec Form en application console
    Par Booster2ooo dans le forum Débuter
    Réponses: 8
    Dernier message: 25/03/2008, 18h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo