Python zu APK (Linux)

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
egnalhcs
User
Beiträge: 3
Registriert: Sonntag 22. Juli 2018, 18:19

Hallo liebe Forengemeinde,

ich bin neu hier.

Ich finde Python sehr genial.

Persönlich habe ich schon einiges an Programmiererfahrung (div.Basic-Dialekte, Java, C und teilweise C++), aber habe Python bisher noch nie wirklich beachtet.
Es gibt ja für Python einige tolle GUI-Frameworks. (tkinter, pygtk, pyqt, kivy, ...)
Persönlich finde ich ja die Möglichkeit das QT-Framework außerhalb von C++ zu nutzen sehr toll.
Auch die Möglichkeiten für die ARM-Prozessorachitektur zu entwickeln finde ich toll. (Raspberry Pi, etc.)

Nun aber zur eigentlichen Frage.

Wie kann man mit z.B "kivy" unter Linux (Linux Mint 19 Cinnamon) Android-Apps erstellen.
Mir ist bewusst das diese Art von Apps langsamer und viel größer als native Android-Apps sind, aber das stört mich erst einmal nicht.

Ich habe bisher "buildozer" erfolgreich kompiliert und "buildozer init" erfolgreich ausgeführt.
Jetzt hänge ich aber hier fest:
buildozer android release deploy run
# Check configuration tokens
# Ensure build layout
# Check configuration tokens
# Preparing build
# Check requirements for android
# Install platform
# Apache ANT found at /home/.../.buildozer/android/platform/apache-ant-1.9.4
# Android SDK found at /home/.../.buildozer/android/platform/android-sdk-20
# Android NDK found at /home/.../.buildozer/android/platform/android-ndk-r9c
# Aidl cannot be executed
#
# You might have missed to install 32bits libs

Ich habe aber alle benötigte 32bit Libs nachinstalliert.

Wenn ich den versteckten Ordner /.buildozer/... aufrufe und im Terminal versuche "aidl" manuell zu starten kommt nur:
"./aidl: error while loading shared libraries: libc++.so: cannot open shared object file: No such file or directory"

Aber auch "libc++.so" habe ich (hoffentlich) korrekt installiert. (über Synaptic)

Ich weis an dieser Stelle jetzt nicht mehr weiter.

Danke für jegliche Hilfe.
Benutzeravatar
__blackjack__
User
Beiträge: 13062
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Auch in der 32 Bit Version?
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
egnalhcs
User
Beiträge: 3
Registriert: Sonntag 22. Juli 2018, 18:19

Hallo __blackjack__ ,

ja ich habe auch die 32bit Version installiert. (Vielleicht die falsche Version ? - Ich weis es nicht.)
(libc++1_6.0-2_i386.deb)

Was besseres habe ich nicht gefunden.
Auch das kopieren der .so -Datei in das selbe Verzeichnis von "aidl" brachte keine Lösung.
Es kommt immer noch der selbe Fehler.

ldd sagt:
linux-gate.so.1 (0xf7f97000)
libc++.so => not found (Habe ich aber dort(/lib/i386-linux-gnu) und im selben Verzeichnis)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7f17000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7e15000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7df7000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7c1b000)
/lib/ld-linux.so.2 (0xf7f99000)

Welche Version benötige ich ?
egnalhcs
User
Beiträge: 3
Registriert: Sonntag 22. Juli 2018, 18:19

Ok ich habe es mit einem Neustart hinbekommen.
Die 32bit-Lib "libc++.so.1.0" habe ich manuell in das /usr/lib/i386-linux-gnu Verzeichnis kopiert, weil das nicht die Standard-Installation ist.

Jetzt kommt aber folgender Fehler:

# Ensure build layout
# Check configuration tokens
# Preparing build
# Check requirements for android
# Install platform
# Apache ANT found at /home/.../.buildozer/android/platform/apache-ant-1.9.4
# Android SDK found at /home/.../.buildozer/android/platform/android-sdk-20
# Android NDK found at /home/.../.buildozer/android/platform/android-ndk-r9c
# Check application requirements
# Check garden requirements
# Compile platform
# Command failed: /usr/bin/python -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir=/home/..../buildozer/buildozer/.buildozer/android/platform/build
#
# Buildozer failed to execute the last command
# If the error is not obvious, please raise the log_level to 2
# and retry the latest command.
# In case of a bug report, please add a full log with log_level = 2

Wie muss ich jetzt weiter verfahren ?
Tholo
User
Beiträge: 177
Registriert: Sonntag 7. Januar 2018, 20:36

https://kivy.org/docs/installation/inst ... n-rpi.html oder https://github.com/mrichardson23/rpi-kivy-screen beschreiben die Installation von Kivy bei nem Pi
Hier sind auch verschiendene Lösungen zu finden
https://forum-raspberrypi.de/forum/thre ... post332550


Gerade letzteres War/Ist viel versprechend. Damit hatte ich Kivy 10.0 nicht 10.1 "damals" zum laufen bekommen. Wobei ich mir gerade noicht sicher bin ob wir gleich verfahren haben. Du sprichst immer von APK und Postest von Android SDK. Ich hab "pur" Python mit Kivy auf dem Pi laufen lassen.
Falls du Kivy auf Android benötigst schau dich mal in dieser Gruppe um https://groups.google.com/forum/#!forum/kivy-users da wird das oft thematisiert
Antworten