移动端 开源低代码工具 beeware 和 kivy
clang-前端插件-给各种无花括号的“块”加花括号-基于llvm15–clang-plugin-add-brace
kivy
kivy安装
#anaconda3 @ win10
python --version
#Python 3.8.5
pip install virtualenv
python -m virtualenv kivy_venv
#若virtualenv 报错, 试试:#conda create python=3.8 -n kivy_venv
kivy_venv\Scripts\activate.bat
##: conda activate kivy_venv
which pip
#/home/z//python_root/Miniconda3-4.10.3/envs/kivy_venv/bin/pip
pip install "kivy[dev]" kivy_examples
#dev, base, full 参见: https://kivy.org/doc/stable/gettingstarted/installation.html : "Installing Kivy’s dependencies"
#显示例子
python kivy_venv\share\kivy-examples\demo\showcase\main.py
kivy编译 出 android apk
#centos 8 x64 stream @"win10x64 hyperv"
/home/z/python_root/Miniconda3-4.10.3/bin/activate kivy_venv
#安装buildozer
cd /home/z/
git clone https://github.com/kivy/buildozer.git
cd buildozer
sudo python setup.py install
#"安装buildozer" 这段可以用此替代: pip install buildozer
cd /home/z/python_root/Miniconda3-4.10.3/envs/kivy_venv/share/kivy-examples/demo/pictures/
buildozer init
#安装buildozer所需依赖
#https://buildozer.readthedocs.io/en/latest/installation.html#targeting-android
export JAVA_HOME=/home/z/java_root/jdk-11.0.15+10/
export PATH=$JAVA_HOME/bin:$PATH
buildozer android release
#成功编译出apk: 能在手机上正常运行.
#/home/z/python_root/Miniconda3-4.10.3/envs/kivy_venv/share/kivy-examples/demo/pictures/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/myapp/build/outputs/apk/debug/myapp-debug.apk
"""
kivy编译报错解决 ( buildozer android release )
buildozer android release时报错: Cython (cython) not found, please install it
#centos 8 stream x64 @ "hyperv @win10x64"
buildzer android release
#报错: Cython (cython) not found, please install it
#解决:
#sudo dnf install python38-Cython.x86_64 -y #这句可能不需要
pip install Cyton
which cython
#~/python_root/Miniconda3-4.10.3/envs/kivy_venv/bin/cython
编译python时, 报错 ctypes 找不到
编译python时, 报错 ctypes 找不到,
原因: 编译hostpython3时没有找到合适的libffi:
解决过程:
#报错:
"""
skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/8/../../../libffi.so when searching for -lffi
skipping incompatible //lib/libffi.so when searching for -lffi
skipping incompatible //usr/lib/libffi.so when searching for -lffi
cannot find -lffi
"""
ls -lh /usr/lib64/libffi.so.* #不兼容的so如下
"""
lrwxrwxrwx. 1 root root 26 Jul 27 10:11 /usr/lib/libffi.so -> /usr/lib64/libffi.so.6.0.2
lrwxrwxrwx. 1 root root 15 Jul 27 12:54 /usr/lib/libffi.so.6 -> libffi.so.6.0.2
-rwxr-xr-x. 1 root root 73K Jul 27 10:11 /usr/lib/libffi.so.6.0.2
"""
ls -lh /usr/lib64/libffi.so.* #另一组so如下, (经过后面尝试发现, 这组是兼容的)
"""
lrwxrwxrwx. 1 root root 26 Jul 27 10:11 /usr/lib64/libffi.so.6 -> /usr/lib64/libffi.so.8.1.0
lrwxrwxrwx.