-Activer la construction de Kivy-ios memo (MAC). -Téléchargez et installez JAVA6 depuis le site d'Apple.
console
pip install buildozer
-Copiez l'exemple de programme touchtracer fourni avec kivy dans un répertoire approprié.
console
cd touchtracer
buildozer init
-Un fichier appelé buildozer.spec sera généré, définissez donc les informations nécessaires. Buildozer télécharge automatiquement les modules requis. Si vous avez besoin d'un SDK ou NDK spécifique, définissez la version de l'API, etc. dans ce fichier.
buildozer.spec
# (str) Title of your application
title = Touchtracer ###Nom du titre de l'application
# (str) Package name
package.name = Touchtracer ###Nom du package d'application
# (str) Package domain (needed for android/ios packaging)
package.domain = com.domain ###Nom de domaine d'application
…
…
…
# (list) Source files to include (let empty to include all the files)
source.include_exts = py,png,jpg,kv,atlas ###Ajouter l'extension de nom de fichier requise
…
…
…
# (str) Application versioning (method 1)
#version.regex = __version__ = ['"](.*)['"]
#version.filename = %(source.dir)s/main.py ###Commentaire si la version n'est pas décrite dans le fichier
# (str) Application versioning (method 2)
version = 0.1.0 ###Si la version n'est pas décrite dans le fichier, décommentez et définissez la version
# (list) Application requirements
# comma seperated e.g. requirements = sqlite3,kivy
requirements = kivy ###Définir un nom de module supplémentaire requis
…
…
…
# (str) Presplash of the application
presplash.filename = %(source.dir)s/png/landscape.png ###Spécifiez l'image de l'écran de démarrage*/
# (str) Icon of the application
icon.filename = %(source.dir)s/png/76pt_x2.png ###Spécifiez l'image de l'icône
…
…
…
# (list) Permissions
android.permissions = INTERNET,WRITE_EXTERNAL_STORAGE ###Définissez les autorisations requises, etc.
…
…
…
# (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* ###Activer le CODEC pour la conversion de caractères
-Générer un package de version de débogage (généré sous BIN dans le répertoire courant)
console
buildozer android debug
-Générer un package de version de débogage tout en affichant BUILDLOG à l'écran (généré sous BIN dans le répertoire courant)
console
buildozer --verbose android debug
-Génération de la version release (générée sous BIN dans le répertoire courant)
console
buildozer android release
-La version officielle ne peut pas être installée sans signature, elle doit donc être signée. Si vous disposez d'un certificat formel, utilisez-le. Sinon, générez un certificat approprié (si vous souhaitez l'installer et l'exécuter pour le moment).
console
jarsigner -keystore keystorename -verbose touchtracer-1.2.0.apk touchtracer
Pour désactiver la barre de navigation, ajoutez le code ci-dessous. Cependant, pour le moment, lorsque le clavier à l'écran est affiché, le bouton de navigation s'affiche.
・ Modifié au fichier de spécifications
buildozer.spec
# (int) Minimum API required (8 = Android 2.2 devices)
android.minapi = 19
-Source Android modifiée par Kivy (emplacement onResume)
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();
}
}
・ Reconstruire
console
rm -rf .buildozer/android/platform/python-for-android/dist
buildozer android debug
Recommended Posts