在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 将您的Python应用程序转换为Android APK

将您的Python应用程序转换为Android APK

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:1.57M
  • 下载次数:2
  • 浏览次数:54
  • 发布时间:2024-06-14
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签:

实例介绍

【实例简介】

python-for-android(p4a)是一个开发工具,将Python应用程序打包为可以在Android设备上运行的二进制文件。它可以生成Android Package(APK)文件,可在设备上本地安装,特别适用于测试。此格式被许多应用商店使用,但不包括Google Play商店。它还可以生成可在Google Play商店共享的Android App Bundle(AAB)文件,以及可用作其他项目资源可重用捆绑包的Android Archive(AAR)文件。

该工具支持多个CPU架构,支持使用Kivy框架开发的应用程序,但设计灵活,可通过“引导”支持后端库,还支持PySDL2和带有Python Web服务器的WebView。它会自动支持大多数纯Python软件包的依赖关系。对于其他依赖于C代码的软件包,必须编写特殊的“配方”以支持交叉编译。python-for-android内置了许多最受欢迎库(如numpy和SQLAlchemy)的配方。

python-for-android通过为Android设备交叉编译Python解释器及其依赖项,并将其与应用程序捆绑在一起来实现功能。


【实例截图】
【核心代码】
文件清单
└── python-for-android-5dc17e16217620daf76d58ac6d20e4f9a9d4ff8b
    ├── CHANGELOG.md
    ├── ci
    │   ├── constants.py
    │   ├── __init__.py
    │   ├── makefiles
    │   │   ├── android.mk
    │   │   └── osx.mk
    │   └── rebuild_updated_recipes.py
    ├── CODE_OF_CONDUCT.md
    ├── CONTACT.md
    ├── CONTRIBUTING.md
    ├── distribute.sh
    ├── doc
    │   ├── make.bat
    │   ├── Makefile
    │   ├── requirements.txt
    │   └── source
    │       ├── apis.rst
    │       ├── bootstraps.rst
    │       ├── buildoptions.rst
    │       ├── commands.rst
    │       ├── conf.py
    │       ├── contact.rst
    │       ├── contribute.rst
    │       ├── distutils.rst
    │       ├── docker.rst
    │       ├── faq.rst
    │       ├── index.rst
    │       ├── quickstart.rst
    │       ├── recipes.rst
    │       ├── services.rst
    │       ├── _static
    │       ├── testing_pull_requests.rst
    │       └── troubleshooting.rst
    ├── Dockerfile
    ├── FAQ.md
    ├── LICENSE
    ├── Makefile
    ├── MANIFEST.in
    ├── pythonforandroid
    │   ├── androidndk.py
    │   ├── archs.py
    │   ├── bdistapk.py
    │   ├── bootstrap.py
    │   ├── bootstraps
    │   │   ├── common
    │   │   │   └── build
    │   │   │       ├── ant.properties
    │   │   │       ├── build.py
    │   │   │       ├── gradle
    │   │   │       │   └── wrapper
    │   │   │       │       ├── gradle-wrapper.jar
    │   │   │       │       └── gradle-wrapper.properties
    │   │   │       ├── gradlew
    │   │   │       ├── gradlew.bat
    │   │   │       ├── jni
    │   │   │       │   ├── Android.mk
    │   │   │       │   └── application
    │   │   │       │       ├── Android.mk
    │   │   │       │       └── src
    │   │   │       │           ├── Android.mk
    │   │   │       │           └── start.c
    │   │   │       ├── src
    │   │   │       │   └── main
    │   │   │       │       └── java
    │   │   │       │           └── org
    │   │   │       │               ├── kamranzafar
    │   │   │       │               │   └── jtar
    │   │   │       │               │       ├── Octal.java
    │   │   │       │               │       ├── TarConstants.java
    │   │   │       │               │       ├── TarEntry.java
    │   │   │       │               │       ├── TarHeader.java
    │   │   │       │               │       ├── TarInputStream.java
    │   │   │       │               │       ├── TarOutputStream.java
    │   │   │       │               │       └── TarUtils.java
    │   │   │       │               ├── kivy
    │   │   │       │               │   └── android
    │   │   │       │               │       ├── PythonService.java
    │   │   │       │               │       └── PythonUtil.java
    │   │   │       │               └── renpy
    │   │   │       │                   └── android
    │   │   │       │                       ├── AssetExtract.java
    │   │   │       │                       ├── Hardware.java
    │   │   │       │                       └── ResourceManager.java
    │   │   │       ├── templates
    │   │   │       │   ├── build.properties
    │   │   │       │   ├── build.tmpl.gradle
    │   │   │       │   ├── build.tmpl.xml
    │   │   │       │   ├── custom_rules.tmpl.xml
    │   │   │       │   ├── gradle.tmpl.properties
    │   │   │       │   ├── kivy-icon.png
    │   │   │       │   ├── kivy-presplash.jpg
    │   │   │       │   ├── lottie.xml
    │   │   │       │   └── Service.tmpl.java
    │   │   │       └── whitelist.txt
    │   │   ├── empty
    │   │   │   ├── build
    │   │   │   └── __init__.py
    │   │   ├── __init__.py
    │   │   ├── qt
    │   │   │   ├── build
    │   │   │   │   ├── blacklist.txt
    │   │   │   │   ├── jni
    │   │   │   │   │   ├── application
    │   │   │   │   │   │   └── src
    │   │   │   │   │   │       ├── Android.mk
    │   │   │   │   │   │       ├── Android_static.mk
    │   │   │   │   │   │       └── bootstrap_name.h
    │   │   │   │   │   └── Application.mk
    │   │   │   │   ├── src
    │   │   │   │   │   └── main
    │   │   │   │   │       ├── assets
    │   │   │   │   │       ├── java
    │   │   │   │   │       │   └── org
    │   │   │   │   │       │       └── kivy
    │   │   │   │   │       │           └── android
    │   │   │   │   │       │               └── PythonActivity.java
    │   │   │   │   │       ├── jniLibs
    │   │   │   │   │       ├── libs
    │   │   │   │   │       └── res
    │   │   │   │   │           ├── drawable
    │   │   │   │   │           └── mipmap
    │   │   │   │   └── templates
    │   │   │   │       ├── AndroidManifest.tmpl.xml
    │   │   │   │       ├── libs.tmpl.xml
    │   │   │   │       └── strings.tmpl.xml
    │   │   │   └── __init__.py
    │   │   ├── sdl2
    │   │   │   ├── build
    │   │   │   │   ├── blacklist.txt
    │   │   │   │   ├── jni
    │   │   │   │   │   ├── application
    │   │   │   │   │   │   └── src
    │   │   │   │   │   │       ├── Android_static.mk
    │   │   │   │   │   │       └── bootstrap_name.h
    │   │   │   │   │   └── Application.mk
    │   │   │   │   ├── src
    │   │   │   │   │   ├── main
    │   │   │   │   │   │   ├── assets
    │   │   │   │   │   │   ├── java
    │   │   │   │   │   │   │   └── org
    │   │   │   │   │   │   │       └── kivy
    │   │   │   │   │   │   │           └── android
    │   │   │   │   │   │   │               ├── GenericBroadcastReceiverCallback.java
    │   │   │   │   │   │   │               ├── GenericBroadcastReceiver.java
    │   │   │   │   │   │   │               ├── launcher
    │   │   │   │   │   │   │               │   ├── ProjectAdapter.java
    │   │   │   │   │   │   │               │   ├── ProjectChooser.java
    │   │   │   │   │   │   │               │   └── Project.java
    │   │   │   │   │   │   │               └── PythonActivity.java
    │   │   │   │   │   │   ├── jniLibs
    │   │   │   │   │   │   ├── libs
    │   │   │   │   │   │   └── res
    │   │   │   │   │   │       ├── drawable
    │   │   │   │   │   │       ├── drawable-hdpi
    │   │   │   │   │   │       │   └── ic_launcher.png
    │   │   │   │   │   │       ├── drawable-mdpi
    │   │   │   │   │   │       │   └── ic_launcher.png
    │   │   │   │   │   │       ├── drawable-xhdpi
    │   │   │   │   │   │       │   └── ic_launcher.png
    │   │   │   │   │   │       ├── drawable-xxhdpi
    │   │   │   │   │   │       │   └── ic_launcher.png
    │   │   │   │   │   │       ├── layout
    │   │   │   │   │   │       │   ├── chooser_item.xml
    │   │   │   │   │   │       │   ├── main.xml
    │   │   │   │   │   │       │   ├── project_chooser.xml
    │   │   │   │   │   │       │   └── project_empty.xml
    │   │   │   │   │   │       ├── mipmap
    │   │   │   │   │   │       └── mipmap-anydpi-v26
    │   │   │   │   │   └── patches
    │   │   │   │   │       └── SDLActivity.java.patch
    │   │   │   │   └── templates
    │   │   │   │       ├── AndroidManifest.tmpl.xml
    │   │   │   │       └── strings.tmpl.xml
    │   │   │   └── __init__.py
    │   │   ├── service_library
    │   │   │   ├── build
    │   │   │   │   ├── jni
    │   │   │   │   │   └── application
    │   │   │   │   │       └── src
    │   │   │   │   │           └── bootstrap_name.h
    │   │   │   │   ├── src
    │   │   │   │   │   └── main
    │   │   │   │   │       ├── java
    │   │   │   │   │       │   └── org
    │   │   │   │   │       │       └── kivy
    │   │   │   │   │       │           └── android
    │   │   │   │   │       │               ├── GenericBroadcastReceiverCallback.java
    │   │   │   │   │       │               ├── GenericBroadcastReceiver.java
    │   │   │   │   │       │               └── PythonActivity.java
    │   │   │   │   │       └── res
    │   │   │   │   │           └── mipmap
    │   │   │   │   └── templates
    │   │   │   │       ├── AndroidManifest.tmpl.xml
    │   │   │   │       └── Service.tmpl.java
    │   │   │   └── __init__.py
    │   │   ├── service_only
    │   │   │   ├── build
    │   │   │   │   ├── blacklist.txt
    │   │   │   │   ├── jni
    │   │   │   │   │   ├── Android.mk
    │   │   │   │   │   ├── application
    │   │   │   │   │   │   └── src
    │   │   │   │   │   │       ├── Android.mk
    │   │   │   │   │   │       ├── Android_static.mk
    │   │   │   │   │   │       ├── bootstrap_name.h
    │   │   │   │   │   │       └── pyjniusjni.c
    │   │   │   │   │   └── Application.mk
    │   │   │   │   ├── src
    │   │   │   │   │   └── main
    │   │   │   │   │       ├── assets
    │   │   │   │   │       ├── java
    │   │   │   │   │       │   └── org
    │   │   │   │   │       │       └── kivy
    │   │   │   │   │       │           └── android
    │   │   │   │   │       │               └── PythonActivity.java
    │   │   │   │   │       ├── jniLibs
    │   │   │   │   │       └── res
    │   │   │   │   │           ├── drawable
    │   │   │   │   │           └── mipmap
    │   │   │   │   └── templates
    │   │   │   │       ├── AndroidManifest.tmpl.xml
    │   │   │   │       ├── Service.tmpl.java
    │   │   │   │       └── strings.tmpl.xml
    │   │   │   └── __init__.py
    │   │   └── webview
    │   │       ├── build
    │   │       │   ├── blacklist.txt
    │   │       │   ├── jni
    │   │       │   │   ├── Android.mk
    │   │       │   │   ├── application
    │   │       │   │   │   └── src
    │   │       │   │   │       ├── Android.mk
    │   │       │   │   │       ├── Android_static.mk
    │   │       │   │   │       ├── bootstrap_name.h
    │   │       │   │   │       └── pyjniusjni.c
    │   │       │   │   └── Application.mk
    │   │       │   ├── proguard-project.txt
    │   │       │   ├── src
    │   │       │   │   └── main
    │   │       │   │       ├── assets
    │   │       │   │       ├── java
    │   │       │   │       │   └── org
    │   │       │   │       │       └── kivy
    │   │       │   │       │           └── android
    │   │       │   │       │               ├── GenericBroadcastReceiverCallback.java
    │   │       │   │       │               ├── GenericBroadcastReceiver.java
    │   │       │   │       │               └── PythonActivity.java
    │   │       │   │       ├── jniLibs
    │   │       │   │       └── res
    │   │       │   │           ├── drawable
    │   │       │   │           │   └── icon.png
    │   │       │   │           ├── layout
    │   │       │   │           │   └── main.xml
    │   │       │   │           ├── mipmap
    │   │       │   │           ├── mipmap-anydpi-v26
    │   │       │   │           └── values
    │   │       │   │               └── strings.xml
    │   │       │   ├── templates
    │   │       │   │   ├── AndroidManifest.tmpl.xml
    │   │       │   │   ├── strings.tmpl.xml
    │   │       │   │   ├── test
    │   │       │   │   │   ├── build.tmpl.xml
    │   │       │   │   │   └── build.xml.tmpl
    │   │       │   │   └── WebViewLoader.tmpl.java
    │   │       │   └── webview_includes
    │   │       │       ├── _load.html
    │   │       │       └── _loading_style.css
    │   │       └── __init__.py
    │   ├── build.py
    │   ├── checkdependencies.py
    │   ├── distribution.py
    │   ├── entrypoints.py
    │   ├── graph.py
    │   ├── includes
    │   │   └── arm64-v8a
    │   │       └── machine
    │   │           └── cpu-features.h
    │   ├── __init__.py
    │   ├── logger.py
    │   ├── patching.py
    │   ├── prerequisites.py
    │   ├── pythonpackage.py
    │   ├── recipe.py
    │   ├── recipes
    │   │   ├── aiohttp
    │   │   │   └── __init__.py
    │   │   ├── android
    │   │   │   ├── __init__.py
    │   │   │   └── src
    │   │   │       ├── android
    │   │   │       │   ├── activity.py
    │   │   │       │   ├── _android_billing_jni.c
    │   │   │       │   ├── _android_billing.pyx
    │   │   │       │   ├── _android_jni.c
    │   │   │       │   ├── _android.pyx
    │   │   │       │   ├── _android_sound_jni.c
    │   │   │       │   ├── _android_sound.pyx
    │   │   │       │   ├── billing.py
    │   │   │       │   ├── broadcast.py
    │   │   │       │   ├── _ctypes_library_finder.py
    │   │   │       │   ├── display_cutout.py
    │   │   │       │   ├── __init__.py
    │   │   │       │   ├── loadingscreen.py
    │   │   │       │   ├── mixer.py
    │   │   │       │   ├── permissions.py
    │   │   │       │   ├── runnable.py
    │   │   │       │   └── storage.py
    │   │   │       └── setup.py
    │   │   ├── apsw
    │   │   │   └── __init__.py
    │   │   ├── argon2-cffi
    │   │   │   └── __init__.py
    │   │   ├── atom
    │   │   │   └── __init__.py
    │   │   ├── audiostream
    │   │   │   └── __init__.py
    │   │   ├── av
    │   │   │   └── __init__.py
    │   │   ├── av_codecs
    │   │   │   └── __init__.py
    │   │   ├── bcrypt
    │   │   │   └── __init__.py
    │   │   ├── boost
    │   │   │   ├── disable-so-version.patch
    │   │   │   ├── fix-android-issues.patch
    │   │   │   ├── __init__.py
    │   │   │   ├── use-android-libs.patch
    │   │   │   └── user-config.jam
    │   │   ├── brokenrecipe
    │   │   │   └── __init__.py
    │   │   ├── cffi
    │   │   │   ├── disable-pkg-config.patch
    │   │   │   └── __init__.py
    │   │   ├── coincurve
    │   │   │   ├── coincurve.patch
    │   │   │   └── __init__.py
    │   │   ├── coverage
    │   │   │   ├── fallback-utf8.patch
    │   │   │   └── __init__.py
    │   │   ├── cryptography
    │   │   │   └── __init__.py
    │   │   ├── cymunk
    │   │   │   └── __init__.py
    │   │   ├── cython
    │   │   │   └── __init__.py
    │   │   ├── decorator
    │   │   │   └── __init__.py
    │   │   ├── enaml
    │   │   │   ├── 0001-Update-setup.py.patch
    │   │   │   └── __init__.py
    │   │   ├── ethash
    │   │   │   └── __init__.py
    │   │   ├── evdev
    │   │   │   ├── evcnt.patch
    │   │   │   ├── evdev-permissions.patch
    │   │   │   ├── include-dir.patch
    │   │   │   ├── __init__.py
    │   │   │   ├── keycnt.patch
    │   │   │   └── remove-uinput.patch
    │   │   ├── feedparser
    │   │   │   └── __init__.py
    │   │   ├── ffmpeg
    │   │   │   ├── __init__.py
    │   │   │   └── patches
    │   │   │       └── configure.patch
    │   │   ├── ffpyplayer
    │   │   │   └── __init__.py
    │   │   ├── ffpyplayer_codecs
    │   │   │   └── __init__.py
    │   │   ├── flask
    │   │   │   └── __init__.py
    │   │   ├── fontconfig
    │   │   │   └── __init__.py
    │   │   ├── freetype
    │   │   │   └── __init__.py
    │   │   ├── freetype-py
    │   │   │   ├── fall-back-to-distutils.patch
    │   │   │   └── __init__.py
    │   │   ├── genericndkbuild
    │   │   │   └── __init__.py
    │   │   ├── gevent
    │   │   │   ├── cross_compiling.patch
    │   │   │   └── __init__.py
    │   │   ├── greenlet
    │   │   │   └── __init__.py
    │   │   ├── groestlcoin_hash
    │   │   │   └── __init__.py
    │   │   ├── harfbuzz
    │   │   │   └── __init__.py
    │   │   ├── hostpython3
    │   │   │   ├── __init__.py
    │   │   │   └── patches
    │   │   │       └── pyconfig_detection.patch
    │   │   ├── icu
    │   │   │   ├── disable-libs-version.patch
    │   │   │   └── __init__.py
    │   │   ├── ifaddr
    │   │   │   ├── getifaddrs.patch
    │   │   │   └── __init__.py
    │   │   ├── ifaddrs
    │   │   │   └── __init__.py
    │   │   ├── __init__.py
    │   │   ├── jedi
    │   │   │   ├── fix_MergedNamesDict_get.patch
    │   │   │   └── __init__.py
    │   │   ├── jpeg
    │   │   │   ├── Application.mk
    │   │   │   ├── build-static.patch
    │   │   │   ├── __init__.py
    │   │   │   └── remove-version.patch
    │   │   ├── kivy
    │   │   │   ├── __init__.py
    │   │   │   └── sdl-gl-swapwindow-nogil.patch
    │   │   ├── kivy3
    │   │   │   └── __init__.py
    │   │   ├── kiwisolver
    │   │   │   └── __init__.py
    │   │   ├── lapack
    │   │   │   └── __init__.py
    │   │   ├── leveldb
    │   │   │   └── __init__.py
    │   │   ├── libbz2
    │   │   │   ├── __init__.py
    │   │   │   └── lib_android.patch
    │   │   ├── libcurl
    │   │   │   └── __init__.py
    │   │   ├── libexpat
    │   │   │   └── __init__.py
    │   │   ├── libffi
    │   │   │   ├── Application.mk
    │   │   │   ├── disable-mips-check.patch
    │   │   │   ├── __init__.py
    │   │   │   └── remove-version-info.patch
    │   │   ├── libgeos
    │   │   │   └── __init__.py
    │   │   ├── libglob
    │   │   │   ├── glob.patch
    │   │   │   └── __init__.py
    │   │   ├── libiconv
    │   │   │   └── __init__.py
    │   │   ├── liblzma
    │   │   │   └── __init__.py
    │   │   ├── libmysqlclient
    │   │   │   ├── add-custom-platform.patch
    │   │   │   ├── disable-soname.patch
    │   │   │   ├── disable-soversion.patch
    │   │   │   ├── __init__.py
    │   │   │   ├── Linux.cmake
    │   │   │   └── p4a.cmake
    │   │   ├── libogg
    │   │   │   └── __init__.py
    │   │   ├── libpcre
    │   │   │   └── __init__.py
    │   │   ├── libpq
    │   │   │   └── __init__.py
    │   │   ├── libpthread
    │   │   │   └── __init__.py
    │   │   ├── librt
    │   │   │   └── __init__.py
    │   │   ├── libsecp256k1
    │   │   │   └── __init__.py
    │   │   ├── libshine
    │   │   │   └── __init__.py
    │   │   ├── libsodium
    │   │   │   ├── __init__.py
    │   │   │   └── size_max_fix.patch
    │   │   ├── libtorrent
    │   │   │   ├── disable-so-version.patch
    │   │   │   ├── __init__.py
    │   │   │   ├── setup-lib-name.patch
    │   │   │   ├── user-config-openssl.patch
    │   │   │   └── use-soname-python.patch
    │   │   ├── libtribler
    │   │   │   └── __init__.py
    │   │   ├── libvorbis
    │   │   │   └── __init__.py
    │   │   ├── libvpx
    │   │   │   ├── __init__.py
    │   │   │   └── patches
    │   │   │       └── 0001-android-force-neon-runtime.patch
    │   │   ├── libwebp
    │   │   │   └── __init__.py
    │   │   ├── libx264
    │   │   │   └── __init__.py
    │   │   ├── libxml2
    │   │   │   ├── add-glob.c.patch
    │   │   │   ├── glob.c
    │   │   │   ├── glob.h
    │   │   │   └── __init__.py
    │   │   ├── libxslt
    │   │   │   ├── fix-dlopen.patch
    │   │   │   └── __init__.py
    │   │   ├── libzbar
    │   │   │   ├── __init__.py
    │   │   │   └── werror.patch
    │   │   ├── libzmq
    │   │   │   └── __init__.py
    │   │   ├── lxml
    │   │   │   └── __init__.py
    │   │   ├── m2crypto
    │   │   │   └── __init__.py
    │   │   ├── materialyoucolor
    │   │   │   └── __init__.py
    │   │   ├── matplotlib
    │   │   │   ├── __init__.py
    │   │   │   ├── libfreetype.pc.template
    │   │   │   ├── setup.cfg.template
    │   │   │   └── skip_macos.patch
    │   │   ├── msgpack-python
    │   │   │   └── __init__.py
    │   │   ├── ndghttpsclient
    │   │   ├── netifaces
    │   │   │   ├── fix-build.patch
    │   │   │   └── __init__.py
    │   │   ├── numpy
    │   │   │   └── __init__.py
    │   │   ├── omemo
    │   │   │   └── __init__.py
    │   │   ├── omemo-backend-signal
    │   │   │   └── __init__.py
    │   │   ├── openal
    │   │   │   └── __init__.py
    │   │   ├── opencv
    │   │   │   ├── __init__.py
    │   │   │   └── patches
    │   │   │       └── p4a_build.patch
    │   │   ├── opencv_extras
    │   │   │   └── __init__.py
    │   │   ├── openssl
    │   │   │   ├── disable-sover.patch
    │   │   │   └── __init__.py
    │   │   ├── pandas
    │   │   │   ├── fix_numpy_includes.patch
    │   │   │   └── __init__.py
    │   │   ├── pil
    │   │   │   └── __init__.py
    │   │   ├── Pillow
    │   │   │   ├── __init__.py
    │   │   │   └── setup.py.patch
    │   │   ├── png
    │   │   │   ├── build_shared_library.patch
    │   │   │   └── __init__.py
    │   │   ├── preppy
    │   │   │   ├── fix-setup.patch
    │   │   │   └── __init__.py
    │   │   ├── protobuf_cpp
    │   │   │   ├── fix-python3-compatibility.patch
    │   │   │   └── __init__.py
    │   │   ├── psycopg2
    │   │   │   └── __init__.py
    │   │   ├── py3dns
    │   │   │   ├── __init__.py
    │   │   │   └── patches
    │   │   │       └── android.patch
    │   │   ├── pyaml
    │   │   │   └── __init__.py
    │   │   ├── pybind11
    │   │   │   └── __init__.py
    │   │   ├── pycparser
    │   │   │   └── __init__.py
    │   │   ├── pycrypto
    │   │   │   ├── add_length.patch
    │   │   │   └── __init__.py
    │   │   ├── pycryptodome
    │   │   │   └── __init__.py
    │   │   ├── pydantic-core
    │   │   │   └── __init__.py
    │   │   ├── pygame
    │   │   │   └── __init__.py
    │   │   ├── pyicu
    │   │   │   ├── __init__.py
    │   │   │   └── locale.patch
    │   │   ├── pyjnius
    │   │   │   ├── genericndkbuild_jnienv_getter.patch
    │   │   │   └── __init__.py
    │   │   ├── pyleveldb
    │   │   │   ├── bindings-only.patch
    │   │   │   └── __init__.py
    │   │   ├── pymunk
    │   │   │   └── __init__.py
    │   │   ├── pynacl
    │   │   │   └── __init__.py
    │   │   ├── pyogg
    │   │   │   ├── __init__.py
    │   │   │   └── patches
    │   │   │       └── fix-find-lib.patch
    │   │   ├── pyopenal
    │   │   │   ├── __init__.py
    │   │   │   └── patches
    │   │   │       └── fix-find-lib.patch
    │   │   ├── pyopenssl
    │   │   │   ├── fix-dlfcn.patch
    │   │   │   └── __init__.py
    │   │   ├── pyproj
    │   │   │   └── __init__.py
    │   │   ├── pyreqwest_impersonate
    │   │   │   └── __init__.py
    │   │   ├── pyrxp
    │   │   │   └── __init__.py
    │   │   ├── pysdl2
    │   │   │   └── __init__.py
    │   │   ├── pysha3
    │   │   │   └── __init__.py
    │   │   ├── python3
    │   │   │   ├── __init__.py
    │   │   │   └── patches
    │   │   │       ├── cpython-311-ctypes-find-library.patch
    │   │   │       ├── py3.7.1_fix_cortex_a8.patch
    │   │   │       ├── py3.7.1_fix-ctypes-util-find-library.patch
    │   │   │       ├── py3.7.1_fix-zlib-version.patch
    │   │   │       ├── py3.8.1_fix_cortex_a8.patch
    │   │   │       ├── py3.8.1.patch
    │   │   │       ├── pyconfig_detection.patch
    │   │   │       └── reproducible-buildinfo.diff
    │   │   ├── pyusb
    │   │   │   ├── fix-android.patch
    │   │   │   └── __init__.py
    │   │   ├── pyzbar
    │   │   │   └── __init__.py
    │   │   ├── pyzmq
    │   │   │   └── __init__.py
    │   │   ├── regex
    │   │   │   └── __init__.py
    │   │   ├── reportlab
    │   │   │   ├── __init__.py
    │   │   │   └── patches
    │   │   │       └── fix-setup.patch
    │   │   ├── ruamel.yaml
    │   │   │   ├── disable-pip-req.patch
    │   │   │   └── __init__.py
    │   │   ├── scipy
    │   │   │   ├── __init__.py
    │   │   │   └── setup.py.patch
    │   │   ├── scrypt
    │   │   │   ├── __init__.py
    │   │   │   └── remove_librt.patch
    │   │   ├── sdl2
    │   │   │   └── __init__.py
    │   │   ├── sdl2_image
    │   │   │   ├── enable-webp.patch
    │   │   │   └── __init__.py
    │   │   ├── sdl2_mixer
    │   │   │   └── __init__.py
    │   │   ├── sdl2_ttf
    │   │   │   └── __init__.py
    │   │   ├── secp256k1
    │   │   │   ├── cross_compile.patch
    │   │   │   ├── drop_setup_requires.patch
    │   │   │   ├── find_lib.patch
    │   │   │   ├── __init__.py
    │   │   │   ├── no-download.patch
    │   │   │   └── pkg-config.patch
    │   │   ├── setuptools
    │   │   │   └── __init__.py
    │   │   ├── shapely
    │   │   │   ├── __init__.py
    │   │   │   └── setup.patch
    │   │   ├── six
    │   │   │   └── __init__.py
    │   │   ├── snappy
    │   │   │   └── __init__.py
    │   │   ├── spine
    │   │   │   └── __init__.py
    │   │   ├── sqlalchemy
    │   │   │   ├── __init__.py
    │   │   │   └── zipsafe.patch
    │   │   ├── sqlite3
    │   │   │   ├── Android.mk
    │   │   │   └── __init__.py
    │   │   ├── storm
    │   │   │   └── __init__.py
    │   │   ├── sympy
    │   │   │   ├── fix_android_detection.patch
    │   │   │   ├── fix_pretty_print.patch
    │   │   │   ├── fix_timeutils.patch
    │   │   │   └── __init__.py
    │   │   ├── tflite-runtime
    │   │   │   ├── build_with_cmake.patch
    │   │   │   ├── CMakeLists.patch
    │   │   │   └── __init__.py
    │   │   ├── twisted
    │   │   │   ├── incremental.patch
    │   │   │   ├── __init__.py
    │   │   │   └── remove_tests.patch
    │   │   ├── ujson
    │   │   │   └── __init__.py
    │   │   ├── uvloop
    │   │   │   └── __init__.py
    │   │   ├── vispy
    │   │   │   ├── disable_font_triage.patch
    │   │   │   ├── disable_freetype.patch
    │   │   │   ├── disable_freetype.patch_backup
    │   │   │   ├── __init__.py
    │   │   │   ├── remove_ati_check.patch
    │   │   │   └── use_es2.patch
    │   │   ├── vlc
    │   │   │   └── __init__.py
    │   │   ├── wsaccel
    │   │   │   └── __init__.py
    │   │   ├── x3dh
    │   │   │   ├── __init__.py
    │   │   │   └── requires_fix.patch
    │   │   ├── xeddsa
    │   │   │   ├── __init__.py
    │   │   │   └── remove_dependencies.patch
    │   │   ├── zbar
    │   │   │   ├── __init__.py
    │   │   │   └── zbar-0.10-python-crash.patch
    │   │   ├── zbarlight
    │   │   │   └── __init__.py
    │   │   ├── zeroconf
    │   │   │   ├── __init__.py
    │   │   │   └── patches
    │   │   │       └── setup.patch
    │   │   ├── zope
    │   │   │   └── __init__.py
    │   │   └── zope_interface
    │   │       ├── fix-init.patch
    │   │       ├── __init__.py
    │   │       └── no_tests.patch
    │   ├── recommendations.py
    │   ├── toolchain.py
    │   ├── tools
    │   │   ├── biglink
    │   │   ├── liblink
    │   │   └── liblink.sh
    │   └── util.py
    ├── README.md
    ├── setup.py
    ├── testapps
    │   ├── on_device_unit_tests
    │   │   ├── buildozer.spec
    │   │   ├── README.rst
    │   │   ├── setup.py
    │   │   ├── test_app
    │   │   │   ├── app_flask.py
    │   │   │   ├── app_kivy.py
    │   │   │   ├── app_service.py
    │   │   │   ├── constants.py
    │   │   │   ├── main.py
    │   │   │   ├── screen_keyboard.kv
    │   │   │   ├── screen_orientation.kv
    │   │   │   ├── screen_service.kv
    │   │   │   ├── screen_unittests.kv
    │   │   │   ├── static
    │   │   │   │   ├── Blanka-Regular.otf
    │   │   │   │   ├── coloursinv.png
    │   │   │   │   ├── colours.png
    │   │   │   │   └── flask.css
    │   │   │   ├── templates
    │   │   │   │   ├── base.html
    │   │   │   │   ├── index.html
    │   │   │   │   ├── page2.html
    │   │   │   │   └── unittests.html
    │   │   │   ├── tests
    │   │   │   │   ├── __init__.py
    │   │   │   │   ├── mixin.py
    │   │   │   │   └── test_requirements.py
    │   │   │   ├── tools.py
    │   │   │   ├── widgets.kv
    │   │   │   └── widgets.py
    │   │   └── test_qt
    │   │       ├── jar
    │   │       │   └── PySide6
    │   │       │       └── jar
    │   │       │           ├── Qt6AndroidBindings.jar
    │   │       │           └── Qt6Android.jar
    │   │       └── recipes
    │   │           ├── PySide6
    │   │           │   └── __init__.py
    │   │           └── shiboken6
    │   │               └── __init__.py
    │   ├── setup_testapp_python3_sqlite_openssl.py
    │   ├── setup_vispy.py
    │   ├── testapp_sqlite_openssl
    │   │   ├── colours.png
    │   │   └── main.py
    │   ├── testapp_vispy
    │   │   └── main.py
    │   ├── testlauncherreboot_setup
    │   │   └── sdl2.py
    │   └── testlauncher_setup
    │       └── sdl2.py
    ├── tests
    │   ├── recipes
    │   │   ├── recipe_ctx.py
    │   │   ├── recipe_lib_test.py
    │   │   ├── test_freetype.py
    │   │   ├── test_gevent.py
    │   │   ├── test_harfbuzz.py
    │   │   ├── test_hostpython3.py
    │   │   ├── test_icu.py
    │   │   ├── test_jpeg.py
    │   │   ├── test_leveldb.py
    │   │   ├── test_libbz2.py
    │   │   ├── test_libcurl.py
    │   │   ├── test_libexpat.py
    │   │   ├── test_libffi.py
    │   │   ├── test_libgeos.py
    │   │   ├── test_libiconv.py
    │   │   ├── test_liblzma.py
    │   │   ├── test_libmysqlclient.py
    │   │   ├── test_libogg.py
    │   │   ├── test_libpq.py
    │   │   ├── test_libsecp256k1.py
    │   │   ├── test_libshine.py
    │   │   ├── test_libvorbis.py
    │   │   ├── test_libvpx.py
    │   │   ├── test_libx264.py
    │   │   ├── test_libxml2.py
    │   │   ├── test_libxslt.py
    │   │   ├── test_openal.py
    │   │   ├── test_openssl.py
    │   │   ├── test_pandas.py
    │   │   ├── test_png.py
    │   │   ├── test_pyicu.py
    │   │   ├── test_python3.py
    │   │   ├── test_reportlab.py
    │   │   ├── test_sdl2_mixer.py
    │   │   └── test_snappy.py
    │   ├── test_androidmodule_ctypes_finder.py
    │   ├── test_androidndk.py
    │   ├── test_archs.py
    │   ├── test_bootstrap_build.py
    │   ├── test_bootstrap.py
    │   ├── test_build.py
    │   ├── test_distribution.py
    │   ├── test_graph.py
    │   ├── test_logger.py
    │   ├── test_prerequisites.py
    │   ├── test_pythonpackage_basic.py
    │   ├── test_pythonpackage.py
    │   ├── test_recipe.py
    │   ├── test_recommendations.py
    │   ├── test_toolchain.py
    │   └── test_util.py
    └── tox.ini

311 directories, 528 files

标签:

实例下载地址

将您的Python应用程序转换为Android APK

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警