kivy / python-for-android

Turn your Python application into an Android APK
https://python-for-android.readthedocs.io
MIT License
8.25k stars 1.84k forks source link

Allow to reuse existing dist without rebuild #1920

Open Fak3 opened 5 years ago

Fak3 commented 5 years ago

Currently there is no way to tell p4a apk to use existing dist without rebuilding it. The --no-allow-replace-dist flag results in failure:

[INFO]: No existing dists meet the given requirements! [ERROR]: Build failed: Asked for dist with name paradox with recipes (python3, kivy_myasync, openssl, sqlite3, pillow, pytz, sdl2, ansimarkup, app-state, better-exceptions-fork, certifi, chardet, colorama, docutils, getinstance, h11, h2, hpack, http3, hyperframe, idna, lockorator, loguru, minidjango, plyer, Pygments, python-dateutil, requests, requests-async, rfc3986, six, sniffio, sqlparse, urllib3) and NDK API None, but a dist with this name already exists and has either incompatible recipes (freetype, hostpython3, jpeg, libffi, openssl, png, sdl2_image, sdl2_mixer, sdl2_ttf, sqlite3, python3, sdl2, pytz, setuptools, six, idna, pillow, pyjnius, requests, android, kivy_myasync, minidjango, docutils, http3, app-state, chardet, requests-async, sqlparse, hyperframe, certifi, plyer, ansimarkup, sniffio, pygments, colorama, rfc3986, urllib3, python-dateutil, h2, getinstance, loguru, better-exceptions-fork, lockorator, h11, hpack) or NDK API 21

The failure is due to the p4a wrongly assumes the dist requirements aren't matching: #1882

It would be nice to have a way to tell p4a to reuse the existing dist even if it thinks that existing dist does not meet dependencies.

inclement commented 5 years ago

@Fak3 Thanks for these reports and sorry for not responding sooner, I'm trying to catch up with it now.