参考之前的文章:

 https://blog.lemonhall.me/notesview/show/580 


来自此君的尝试:

 https://python-forum.io/thread-39916.html 

1、先看一下spec:

2、先安装一下试试:

 pip install opencv-python

3、然后看一下sepc

给它加上

requirements = python3,kivy,opencv-python,numpy

参考:

 https://github.com/lemonhall/mask_chatpic/blob/main/main.py 

修改一下源码:

import kivy

from kivy.app import App
from kivy.uix.label import Label
import numpy as np
import cv2 as cv
import os


class MyApp(App):

    def build(self):
        return Label(text='Hello world')


if __name__ == '__main__':
    MyApp().run()

什么都不做,看报错不

buildozer android debug

build一下哈

接下来又是一堆的编译过程

哎,等于是把opencv和numpy这俩库要编译成C啊,真是相当艰难的过程,慢慢来吧,CPU都100%了

好吧,遇到一个java那边的编译错误:

关键就是需要修改build.gradle这个文件

但是这个文件现在应该是由其它程序生成的,我看看哈

看了一下build.py

里面由这么一句,那。。。这个tmpl在哪里呢?

就在上面

好的,那我就给模板里加入这段话

 https://stackoverflow.com/questions/27438145/out-of-memory-error-java-heap-memory-on-android-studio 

OK,问题解决

哎~~~

然后非常疯狂,加上了opencv之后,整个app大小暴涨了几百个MB

我得天

部署过去

哈哈哈~然后loading直接崩溃了

apk那边

看来还是很。。。难啊,这依赖太多了

很难知道为什么崩溃了这app

先这样


choco install grep

先安装一个grep

不好搞,所以还死活用了logcat窗口来查看

> Configure project :
WARNING: DSL element 'dexOptions' is obsolete and should be removed.
It will be removed in version 8.0 of the Android Gradle plugin.
Using it has no effect, and the AndroidGradle plugin optimizes dexing automatically.

然后又报错,

看来的用这个

最后改成了这样

实际渲染出来的文件里就有这个选项了

好像就是这个2.1.1的问题啊

好吧,降级到:

pip install numpy==1.26.4 

也不知道抽什么风,还需要帮它手动下载好

需要做一个.mark文件还

才能正确跳过

buildozer appclean

我是用了这个方法,才让它重新编译一遍依赖的python库的

然后发现

之前应该是环境被污染了

最新的opencv-python库,和numpy 2.1.1其实是兼容的,不再报错了,也能正常运行

所以把这些破东西全部都清理干净后重来

这个也写的非常简略,就是一个opencv-python就行了

还是闪退:

1、修改:

修改为单一架构

2、修改依赖包名

3、打开了一个不知道什么东西的东西:


然后改权限:


# (list) Permissions
# (See https://python-for-android.readthedocs.io/en/latest/buildoptions/#build-options-1 for all the supported syntaxes and properties)
android.permissions = android.permission.INTERNET,(name=android.permission.READ_EXTERNAL_STORAGE ;maxSdkVersion=18), (name=android.permission.WRITE_EXTERNAL_STORAGE;maxSdkVersion=18)

改完以后参考:

 https://stackoverflow.com/questions/60066288/select-images-from-gallery-python-kivy-for-android