bar.aar

# (list) Gradle dependencies to add (currently for android only)

# android.gradle_dependencies =

# (str) Path to the project directory to use (if not the current directory)

# android.project_dir = .

# (str) Path to the Android SDK directory (if empty, it will be automatically downloaded)

# android.sdk_path =

# (str) Path to the Android NDK directory (if empty, it will be automatically downloaded)

# android.ndk_path =

# (str) Path to a custom Android sources directory

# android.sources =

# (list) List of additional Java source folders to include

# android.java_source_dirs =

# (list) List of additional C/C++ source folders to include (will be compiled with the NDK)

# android.ndk_source_dirs =

# (list) List of additional Java classes to include from the jar files

# android.add_jars_classes = com.android.billingclient.api.*

# (list) List of obfuscated modules

# obfuscate =

# (str) The directory in which to place the cache

# ccache_dir = .ccache

# (bool) Use prebuild python instead of compiling it (if available)

# use_pth = true

# (bool) Show warning when adding Python modules with pip

# warn_on_pip_install = true

# (str) Path to a custom prebuilt python

# prebuilt_path =

# (str) Path to a custom prebuild python include path

# prebuilt_includes =

# (str) Path to a custom prebuild python libs path

# prebuilt_libs =

# (list) List of include directories to use with the prebuilt python

# prebuild_includes =

# (list) List of library directories to use with the prebuilt python

# prebuild_libs =

# (bool) If the application should be fullscreen or not

fullscreen = 0

# (str) Presplash of the application

# presplash.filename = %(source.dir)s/data/presplash.png

# (str) Icon of the application

# icon.filename = %(source.dir)s/data/icon.png

# (str) Supported orientation (one of landscape, sensorLandscape, portrait or all)

orientation = portrait

# (bool) Indicate if the application should be in fullscreen or not

fullscreen = 0

# (bool) Enable or disable the cursor

# cursor = 1

# (str) Permissions

# android.permissions = INTERNET

# (str) Services

# android.services =

# (str) Application meta-data to include/exclude

# android.meta_data =

# (str) Launch mode (singleInstance, singleTask, etc)

# android.launch_mode = standard

# (bool) If the application should be hidden on launch

# android.hide_app_window = False

# (str) If the application should be resizable or not

# resizable = False

# (bool) If the application should be able to receive notifications

# android.allow_notifications = True

# (str) If the application should be able to receive notifications

# android.notification_icon =

# (bool) If the application should be able to receive notifications

# android.notification_never_sleeps = False

# (str) Whether to copy library instead of making a libpymodules.so

# android.copy_libs = 1

# (list) List of Java .jar files to add to the libs so that pyjnius can access

# android.add_jars = foo.jar,bar.jar

# (list) List of Java .aar files to add to the libs.

# android.add_aars = foo.aar,bar.aar

# (list) Gradle dependencies to add (currently for android only)

# android.gradle_dependencies =

# (list) List of Android assets to copy into the APK. Maps directly to the `source` argument of the `android_new_project.py` script.

# android.assets =

# (str) Android logcat filters to use

# android.logcat_filters = *:S python:D

# (bool) Whether to use the blacklisted packages

# android.blacklistedsdk = False

# (str) How to compile the python code, can be one of (python2, python3, none)

# python_version = 2

# (str) The backend to use for the python interpreter

# backend = sdl2

# (str) Path to a custom entry point, relative to the buildozer.spec file

# entrypoint =

# (list) Path to a custom kivy widget directory (relative to this file)

# widget =

# (list) Path to a custom source directory (relative to this file)

# source.include_exts = py,png,jpg,kv,atlas

# (list) Path to a custom source directory (relative to this file)

# source.exclude_exts = spec

# (list) List of inclusions using pattern matching

# include_patterns =

# (list) List of exclusions using pattern matching

# exclude_patterns =

# (str) Application versioning (method 1)

# version = 0.1

# (str) Application versioning (method蘋果免簽版 2)

# version.regex = __version__ = [‘”](.*)[‘”]

# version.filename = %(source.dir)s/main.py

# (list) List of directory path (relative to the buildozer.spec file) to search for anything source-like (e.g. html, images, etc.)

# source_dirs =

# (list) List of individual files to copy to the target app. Useful for legal stuff.

# copy_files =

# (str) Application name

# name = myapp

# (str) Domain of the application (for android)

# domain = org.myapp

# (str) Bundle identifier of the application (for iOS)

# ios.bundle_identifier = org.myapp.myidentifier

# (str) Title of the application (for iOS)

# ios.title = My Application

# (bool) Enable the debug panel

# debug = False

# (str) Path to a custom icon

# icon.filename = %(source.dir)s/data/icon.png

“`

在buildozer.spec文件中,我們需要指定應用程序名稱、包名、版本號、依賴項等信息。

接下來,在項目根目錄下執行以下命令:

“`

$ buildozer android debug

“`

該命令將使用buildozer.spec文件中指定的信息,構建一個名為myapp-0.1-debug.apk的APK文件。

最后,我們可以將該APK文件安裝到Android設備上,并運行我們的Python應用程序。

總結

Python作為一種高級編程語言,使用廣泛。如果我們想要將Python應用程序打包成Android APK文件,就需要使用一些特殊的工具,如Buildozer或Kivy等。在打包之前,我們需要將Python解釋器嵌入到APK文件中,并將Python代碼編譯為本地庫。通過以上步驟,我們可以成功地將Python應用程序打包成Android APK文件,并在Android設備上運行。

未經允許不得轉載:智電網絡 NET » python打包成apk如何實現的?

相關推薦