最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

python - How to include a folder into an APK file? - Stack Overflow

programmeradmin6浏览0评论

I am new with mobile development and I am trying to do an application for playing Tarot with Python. I did the application on computer first and it works well (I used PyQt for the GUI). The GitHub project is here: . I transposed the Python code with Kivy and I build with buildozer but I don't understand why the folders images and locales are not in the APK file (see below).

unzip Tarot-0.1-arm64-v8a_armeabi-v7a-debug.apk -d extrait_apk
Archive:  Tarot-0.1-arm64-v8a_armeabi-v7a-debug.apk
  inflating: extrait_apk/META-INF/com/android/build/gradle/app-metadata.properties  
  inflating: extrait_apk/classes.dex  
  inflating: extrait_apk/classes2.dex  
  inflating: extrait_apk/classes3.dex  
  inflating: extrait_apk/classes4.dex  
  inflating: extrait_apk/classes5.dex  
  inflating: extrait_apk/lib/arm64-v8a/libSDL2.so  
  inflating: extrait_apk/lib/arm64-v8a/libSDL2_image.so  
  inflating: extrait_apk/lib/arm64-v8a/libSDL2_mixer.so  
  inflating: extrait_apk/lib/arm64-v8a/libSDL2_ttf.so  
  inflating: extrait_apk/lib/arm64-v8a/libcrypto1.1.so  
  inflating: extrait_apk/lib/arm64-v8a/libffi.so  
  inflating: extrait_apk/lib/arm64-v8a/libfreetype.so  
  inflating: extrait_apk/lib/arm64-v8a/libmain.so  
  inflating: extrait_apk/lib/arm64-v8a/libpng16.so  
  inflating: extrait_apk/lib/arm64-v8a/libpybundle.so  
  inflating: extrait_apk/lib/arm64-v8a/libpython3.11.so  
  inflating: extrait_apk/lib/arm64-v8a/libsqlite3.so  
  inflating: extrait_apk/lib/arm64-v8a/libssl1.1.so  
  inflating: extrait_apk/lib/armeabi-v7a/libSDL2.so  
  inflating: extrait_apk/lib/armeabi-v7a/libSDL2_image.so  
  inflating: extrait_apk/lib/armeabi-v7a/libSDL2_mixer.so  
  inflating: extrait_apk/lib/armeabi-v7a/libSDL2_ttf.so  
  inflating: extrait_apk/lib/armeabi-v7a/libcrypto1.1.so  
  inflating: extrait_apk/lib/armeabi-v7a/libffi.so  
  inflating: extrait_apk/lib/armeabi-v7a/libfreetype.so  
  inflating: extrait_apk/lib/armeabi-v7a/libmain.so  
  inflating: extrait_apk/lib/armeabi-v7a/libpng16.so  
  inflating: extrait_apk/lib/armeabi-v7a/libpybundle.so  
  inflating: extrait_apk/lib/armeabi-v7a/libpython3.11.so  
  inflating: extrait_apk/lib/armeabi-v7a/libsqlite3.so  
  inflating: extrait_apk/lib/armeabi-v7a/libssl1.1.so  
  inflating: extrait_apk/assets/private.tar  
  inflating: extrait_apk/AndroidManifest.xml  
 extracting: extrait_apk/res/drawable-hdpi-v4/ic_launcher.png  
 extracting: extrait_apk/res/drawable-mdpi-v4/ic_launcher.png  
 extracting: extrait_apk/res/drawable-xhdpi-v4/ic_launcher.png  
 extracting: extrait_apk/res/drawable-xxhdpi-v4/ic_launcher.png  
 extracting: extrait_apk/res/drawable/presplash.jpg  
  inflating: extrait_apk/res/layout/chooser_item.xml  
  inflating: extrait_apk/res/layout/main.xml  
  inflating: extrait_apk/res/layout/project_chooser.xml  
  inflating: extrait_apk/res/layout/project_empty.xml  
 extracting: extrait_apk/res/mipmap/icon.png  
 extracting: extrait_apk/resources.arsc  
  inflating: extrait_apk/META-INF/CERT.SF  
  inflating: extrait_apk/META-INF/CERT.RSA  
  inflating: extrait_apk/META-INF/MANIFEST.MF  

I checked the folder .buildozer/android/app/ and the folders images and locales exist but not in the APK file after extraction of it (if I understand, in folder assets but it contains only private.tar file).

julien@julien-Aspire-GX-781:~/Documents/GitHub/TarotAndroid/.buildozer/android/app$ ls
_applibs  data    locales  my_venv      res       sitecustomize.py
bin       images  main.py  __pycache__  setup.py
julien@julien-Aspire-GX-781:~/Documents/GitHub/TarotAndroid/.buildozer/android/app$ ls images
asset-0.png   asset-4.png  club-5.png      diamond-7.png  heart-9.png
asset-10.png  asset-5.png  club-6.png      diamond-8.png  spade-10.png
asset-11.png  asset-6.png  club-7.png      diamond-9.png  spade-11.png
asset-12.png  asset-7.png  club-8.png      heart-10.png   spade-12.png
asset-13.png  asset-8.png  club-9.png      heart-11.png   spade-13.png
asset-14.png  asset-9.png  diamond-10.png  heart-12.png   spade-14.png
asset-15.png  back.png     diamond-11.png  heart-13.png   spade-1.png
asset-16.png  club-10.png  diamond-12.png  heart-14.png   spade-2.png
asset-17.png  club-11.png  diamond-13.png  heart-1.png    spade-3.png
asset-18.png  club-12.png  diamond-14.png  heart-2.png    spade-4.png
asset-19.png  club-13.png  diamond-1.png   heart-3.png    spade-5.png
asset-1.png   club-14.png  diamond-2.png   heart-4.png    spade-6.png
asset-20.png  club-1.png   diamond-3.png   heart-5.png    spade-7.png
asset-21.png  club-2.png   diamond-4.png   heart-6.png    spade-8.png
asset-2.png   club-3.png   diamond-5.png   heart-7.png    spade-9.png
asset-3.png   club-4.png   diamond-6.png   heart-8.png

I saw this link but without success: How do I correctly include data folders into an APK with Buildozer? FileNotFoundError. I searched other options to put in buildozer.spec but without success too. At the end of the compilation with buildozer, I have the following message, I don't know if it is linked with my problem (if yes, I don't know how to deal with):

Copying main.py's ONLY, since other app data is expected in site-packages.

I tried to write correct things in setup.py and MANIFEST.in but I don't know if it really does something.

So, I don't see what is wrong or what is missing...

发布评论

评论列表(0)

  1. 暂无评论