Es gibt eine plattformübergreifende Entwicklungsbibliothek für Python namens Kivy. Der detaillierte Mechanismus von Kivy selbst ist beiseite gelegt (ich habe ihn noch nicht benutzt). Ich möchte eine grobe Methode vorstellen, um ein von Kivy bereitgestelltes Paket für iOS / Android zu erstellen.
python-for-android
Dies ist ein Projekt, um Kivy für Android zu verpacken. (Es scheint anders zu sein als in Google Code) Es scheint ein Mechanismus zu sein, um Python für ARM basierend auf Android SDK + NDK (= Hostpytthon) zu erstellen und die eigentliche Anwendung auf Hostpython auszuführen.
$ cd python-for-android
$ ./distribute.sh -m "openssl pil kivy"
$ cd dist/default
$ ./build.py --package org.test.touchtracer --name touchtracer --version 1.0 --dir ~/code/kivy/examples/demo/touchtracer debug
Die Ausführung selbst erfordert kein so schwieriges Verfahren,
Das ist etwas mühsam.
kivy-ios
Dies ist ein Projekt zum Erstellen eines Xcode-Projekts für iOS.
$ ls
kivyapp <-Hier ist die Kivy App
$ git clone https://github.com/kivy/kivy-ios
$ ./tools/build-all.sh
$ ./tools/create-xcode-project.sh kivyapp ./kivyapp
Der Befehl selbst ist so einfach wie Python für Android, und Sie können den Betrieb des tatsächlichen Computers leicht überprüfen.
Ich mache mir Sorgen, dass ich so etwas habe.
Buildozer ist ein Tool, mit dem die beiden oben genannten Projekte gleichzeitig gesteuert werden können. Schließlich
Es behandelt die meisten Dinge im Zusammenhang mit Verpackungen.
Es ist auch in PyPI registriert, aber persönlich ist es besser, es von der Quelle von Github zu installieren. (In einer stabilen Android-Umgebung wird die Konstruktion aufgrund verschiedener Probleme nicht fortgesetzt.)
$ git clone git://github.com/kivy/buildozer
$ cd buildozer
$ python setup.py install
Grundsätzlich wird das meiste mit dem Befehl buildozer ausgeführt, der während der Installation verfügbar ist.
$ buildozer init
$ ls -l
(App-Quelle)
buildozer.spec <-Bauen Sie hier/Beschreiben der zum Verpacken erforderlichen Elemente (App-Name, iOS-App-ID usw.)
$ buildozer android debug <-Paket apk-Dateien für Android. Dieser Befehl führt den Prozess in der Mitte aus
$ buildozer ios debug <-Ipa-Verpackung für ios. Dieser Befehl führt den Prozess in der Mitte aus
Es ist einfach, oder?
Da Sie den Pfad von Android SDK und NDK auch in buildozer.spec beschreiben können, können Sie den bereits heruntergeladenen verwenden. Sie können auch einzelne Variablen mit der Option --profile für detaillierte Builds festlegen.
Wie oben erwähnt, können Sie den Pfad von SDK, NDK usw. angeben. Wenn Sie ihn jedoch ausführen, ohne etwas zu bearbeiten, wird versucht, alle herunterzuladen. Da Python-for-Android und Kivy-iOS nur unter bestimmten Kontrollen heruntergeladen und gemeinsam verarbeitet werden, Alle oben genannten Probleme bleiben bestehen.
Trotzdem empfehle ich es, da Sie sich auf die Entwicklung von Apps auf Kivy konzentrieren können, es sei denn, Sie verwenden ein sehr ungewöhnliches Python-Paket.
Dies ist das Ergebnis des Packens einer App, die nur die Schaltfläche "Hallo Welt" anzeigt.
Die ipa-Datei ist hervorragend gewachsen. Im Gegenteil, ich war beeindruckt, dass die Apk-Datei unerwartet klein war.
Recommended Posts