[PYTHON] Kivy-Android Memo (MAC)

Referenzseite

1. Vorbereitung

-Ermöglicht das Erstellen von Kivy-ios-Memo (MAC).

2. Installieren Sie die erforderlichen Module

console


pip install buildozer

3. Bauen

-Kopieren Sie den mit kivy gelieferten Beispielprogramm touchtracer in ein entsprechendes Verzeichnis.

console


 cd touchtracer
 buildozer init

buildozer.spec



# (str) Title of your application
title = Touchtracer  ###Name des Anwendungstitels

# (str) Package name
package.name = Touchtracer  ###Name des Anwendungspakets

# (str) Package domain (needed for android/ios packaging)
package.domain = com.domain  ###Anwendungsdomänenname
…
…
…
# (list) Source files to include (let empty to include all the files)
source.include_exts = py,png,jpg,kv,atlas  ###Fügen Sie die erforderliche Dateinamenerweiterung hinzu
…
…
…
# (str) Application versioning (method 1)
#version.regex = __version__ = ['"](.*)['"]
#version.filename = %(source.dir)s/main.py ###Kommentar, wenn die Version nicht in der Datei beschrieben ist

# (str) Application versioning (method 2)
version = 0.1.0  ###Wenn die Version nicht in der Datei beschrieben ist, kommentieren Sie die Version aus und legen Sie sie fest

# (list) Application requirements
# comma seperated e.g. requirements = sqlite3,kivy
requirements = kivy  ###Stellen Sie den zusätzlichen erforderlichen Modulnamen ein
…
…
…
# (str) Presplash of the application
presplash.filename = %(source.dir)s/png/landscape.png  ###Geben Sie das Bild des Begrüßungsbildschirms an*/

# (str) Icon of the application
icon.filename = %(source.dir)s/png/76pt_x2.png  ###Geben Sie das Symbolbild an
…
…
…

# (list) Permissions
android.permissions = INTERNET,WRITE_EXTERNAL_STORAGE  ###Stellen Sie die erforderlichen Berechtigungen usw. ein.
…
…
…
# (list) python-for-android whitelist
android.p4a_whitelist = lib-dynload/*codec*,encodings/cp*.pyo,encodings/tis*,encodings/shift*,encodings/bz2*,encodings/iso*,encodings/undefined*,encodings/johab*,encodings/p*,encodings/m*,encodings/euc*,encodings/k*,encodings/unicode_internal*,encodings/quo*,encodings/gb*,encodings/big5*,encodings/hp*,encodings/hz*   ###Aktivieren Sie CODEC für die Zeichenkonvertierung

-Erstellen Sie ein Debug-Versionspaket (generiert unter BIN im aktuellen Verzeichnis)

console


 buildozer android debug

console


buildozer --verbose android debug

-Generierung der Release-Version (generiert unter BIN im aktuellen Verzeichnis)

console


 buildozer android release

4. Signieren der Release-Version

-Die Release-Version kann nicht ohne Signatur installiert werden, daher muss sie signiert sein. Wenn Sie über ein formelles Zertifikat verfügen, verwenden Sie es. Wenn nicht, generieren Sie ein entsprechendes Zertifikat (wenn Sie es vorerst installieren und ausführen möchten).

console


jarsigner -keystore keystorename -verbose touchtracer-1.2.0.apk touchtracer

5. Vollbildunterstützung

Fügen Sie den folgenden Code hinzu, um die Navigationsleiste zu deaktivieren. In dem Moment, in dem die Bildschirmtastatur angezeigt wird, wird jedoch die Navigationstaste angezeigt.

・ Geändert zur Spezifikationsdatei

buildozer.spec


# (int) Minimum API required (8 = Android 2.2 devices)
android.minapi = 19

-Kivy-modifizierte Android-Quelle (onResume-Speicherort)

java:.buildozer/android/platform/python-for-android/src/src/org/renpy/android/PythonActivity.java



   @Override
    protected void onResume() {
        super.onResume();
        _isPaused = false;

        if (!mLaunchedThread) {
            mLaunchedThread = true;
            new Thread(this).start();
        }
        
		 /// ADD for HIDE NAVIGATEBAR must above API19 ///
        try {
            this.mInfo = this.getPackageManager().getApplicationInfo(
                    this.getPackageName(), PackageManager.GET_META_DATA);
            Log.v("python", "metadata fullscreen is" + this.mInfo.metaData.get("fullscreen") + " For HIDE_NAVIGATIONBAR");
            if ( (Integer)this.mInfo.metaData.get("fullscreen") == 1 ) {
                mView.setSystemUiVisibility(4099);
            }
        } catch (PackageManager.NameNotFoundException e) {
        }
        //////////////////////////////////////////////////

        if (mView != null) {
            mView.onResume();
        }
    }

・ Wiederaufbau

console


rm -rf .buildozer/android/platform/python-for-android/dist
buildozer android debug

Recommended Posts

Kivy-Android Memo (MAC)
kivy-ios memo kivy v1.8.0 (MAC)
Hinweise zur Vorbereitung der Python-Entwicklungsumgebung unter Mac OS X.
Konstruktionsnotiz für die Python-Umgebung auf dem Mac
Python Hinweis Anaconda-Installation (nur Mac)
Himbeer-Pi-Memo
Pandas Memo
HackerRank-Memo
kivy-ios memo kivy v1.8.0 URL-Verknüpfung (MAC)
Python-Memo
Graphen-Memo
Kolben Memo
Matplotlib-Memo
pytest memo
sed memo
Python-Memo
Installieren Sie Memo
networkx memo
Python-Memo
Kater Memo
Befehlsnotiz
Generator Memo.
psycopg2 memo
SSH-Memo
Notiz: rtl8812
Pandas Memo
Shell Memo
Python-Memo
Pycharm-Memo
kivy-ios memo kivy v1.9.0-dev URL-Verknüpfung (MAC)
kivy-ios memo kivy v1.8.0 für neue Toolchain (MAC)
[Für Anfänger] Jupyer Lab Shortcut Memo [Mac]