Obserwuję to jak zbudować aplikację na Androida w językach Python3 i Qt5. Prawie wszystko działa dobrze, ale jakoś nie mogę się dowiedzieć, jak ustawić ikonę aplikacji. W dokumentacji też nic nie znalazłem.

A jeśli mimo wszystko znasz PyQtDeploy. Jak ustawić tryb budowania z debug na release?

Tło:

pyqtdeploy-build tworzy cały folder kompilacji dla Androida (który zawiera wszystkie zasoby i AndroidManifest.xml) od podstaw. Do tej pory nie znalazłem sposobu, aby stwierdzić, której ikony użyć. Spodziewałbym się opcji w interfejsie pyqtdeploy, ale wydaje się, że jej nie ma.

1
frans 20 marzec 2020, 14:31

2 odpowiedzi

Najlepsza odpowiedź

Edytuj

Nigdy tego nie próbowałem, ale @Fred w powyższym komentarzu w ten sposób w Qt Creator - może to zadziała

Edytuj koniec

PyQtDeploy jest przeznaczony do zarządzania kodem i zasobami w języku Python. Ikona aplikacji jest frameworkiem Androida, więc musisz to zrobić w sposób Android - utwórz zasób w folderze res i odwołaj się do niego w Android manifest.

Możesz jednak zautomatyzować ten proces - możesz stworzyć prosty skrypt bash, który zrobi to, lub jeszcze jeden skrypt budujący Pythona w tym samym celu - pobiera ikonę z Twojej lokalizacji, przenosi ją do folderu res i zmienia poprzednio wygenerowany manifest z poprawne odniesienie w postaci android:icon="@drawable/your_logo_name".

Przynajmniej tak to robiłem.

Zalecamy - jeśli chcesz używać Pythona do programowania w systemie Android (i na różnych platformach), użyj narzędzia Kivy jest znacznie bardziej dojrzały, możliwy do wsparcia i kompletny z dużo większą społecznością. Jest znacznie szybszy i ma również więcej bibliotek.

Mam nadzieję, że to pomoże.

1
Pavlo Ostasha 8 kwiecień 2020, 10:13

W systemie Android można znaleźć jeden folder res name, jeśli nie, utworzyć go i odwołać się do pliku manifestu.

Teraz musisz umieścić ikonę w folderze do rysowania, który znajduje się w folderze res

Twoja ścieżka wygląda następująco: res >>>> drawable >>> icon.png

enter image description here

W przypadku Kivy stało się to dwukrotnie łatwiejsze

Ścieżka do ikony musi być bezwzględna lub względna w stosunku do pliku aplikacji. Więc jeśli struktura katalogów wygląda następująco:

My_app / ├── app.py └── rzeczy └── obrazy └── my_icon.png

class MyApp:
    def build(self):
        self.icon = r'C:\Users\you\path\to\my_app\things\images\my_icon.png'
self.icon = r'things\images\my_icon.png'
0
Jai Mahesh 14 kwiecień 2020, 03:50