Python Kivy buildozer进口grpc定制配方

Python Kivy buildozer进口grpc定制配方,python,kivy,buildozer,Python,Kivy,Buildozer,在尝试使用buildozer(带Ubuntu的VM)打包我的应用程序时,我遇到以下错误: ImportError:dlopen失败:“/data/data/org.test.myapp/files/app/\u python\u bundle/site packages/grpc/\u cython/cygrpc.so”是64位而不是32位的 显然,这是因为我需要为grpcio编写自定义配方,所以我这样做了: class GrpcioRecipe(CythonRecipe): versi

在尝试使用buildozer(带Ubuntu的VM)打包我的应用程序时,我遇到以下错误:

ImportError:dlopen失败:“/data/data/org.test.myapp/files/app/\u python\u bundle/site packages/grpc/\u cython/cygrpc.so”是64位而不是32位的

显然,这是因为我需要为grpcio编写自定义配方,所以我这样做了:

class GrpcioRecipe(CythonRecipe):
    version = 'master'
    url = 'https://github.com/grpc/grpc/archive/{version}.zip'
    name = 'grpcio'

    depends = ['six', 'futures', 'enum34']

recipe = GrpcioRecipe()
我将配方保存为
grcpio_recipes.sh
,将其放在名为recipes的文件夹中,并将buildozer.spec文件更改为
#(str),android版python应该在其中查找您自己的构建配方(如果有)p4a.local_recipes=.buildozer/python for android/recipes

然而,我还是得到了和以前一样的错误。我是否已将配方添加到正确的区域-它似乎没有使用我的自定义配方


您需要在
recipes/grpcio/\uuuuu init\uuuuuuu.py中添加此代码

别忘了将它添加到需求中,除了作为配方添加之外

我已经这样做了,代码在这里:
~/buildozer/my_app/p4a recipes/grpcio/u init_uuuuuuuuuuuuuy
我在上面的代码中放了一些打印语句,看看它是否正在运行,但没有打印。可能是我没有告诉buildozer找对地方。基于上述路径,我应该如何更改
buildozer.spec
文件的这一部分?当前设置为:
#(str)python for android应该在其中查找您自己的构建配方(如果有)p4a.local_recipes=.buildozer/python for android/recipes
我刚刚注意到buildozer.spec文件中的目录错误,所以我将其更新为以下
#(str)python for android应该在其中查找您自己的构建配方(如果有)p4a.local_recipes=.buildozer/p4a recipes
但仍然得到相同的目录error@CallumPurcell您确定在需求中也添加了grpcio吗?此外,显示日志可能会有所帮助。是的,grpcio是需求的一部分。我对上面的内容进行了编辑,以包括回溯、文件夹结构和需求部分的图像。当我在Ubuntu虚拟机上运行它时,我无法从回溯中复制和粘贴代码,所以使用了屏幕截图,但如果需要,请告诉我,我会找到方法的!