Buildozer Kivy Error on M1 Mac : error: implicit declaration of function 'sendfile' is invalid in C99 [-Werror,-Wimplicit-function-declaration]

Buildozer Kivy Error on M1 Mac : error: implicit declaration of function 'sendfile' is invalid in C99 [-Werror,-Wimplicit-function-declaration]

我目前正在尝试将我的 kivy 应用程序制作成 apk,这样我就可以 运行 在我的 phone 上使用它。我使用的教程使用了 buildozer,我按照它说的做了。然后我收到错误 configure: error: Unexpected output of 'arch' on OSX 我认为这与我使用 M1 芯片的 Mac 有关。以防万一这可能会影响它,我正在为该应用程序使用 Pipenv。

我的 Pipfile:

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
kivy = {extras = ["base"], file = "https://github.com/kivy/kivy/archive/master.zip"}
buildozer = "*"

[dev-packages]

[requires]
python_version = "3.9"

命令运行:

buildozer -v android debug

完整错误和文件: https://github.com/sqwatato/Buildozer-Kivy-MacM1-Error/tree/main

编辑: 我能够在终端中使用 rosetta 来解决这个问题。但是现在我有另一个错误:p 我删除了我的规格文件,但您仍然可以在 github.

中查看它

我的新错误好像是c++的问题?错误日志中提到了很多 gcc 和我认为来自 c++ 的指针。我在想我有错误的版本或我没有安装的依赖项,虽然我真的不知道。

这是错误。 github.

中的完整错误
/Users/jaydenl/Dev/kivy/kvcalc/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Modules/posixmodule.c:9084:15: error: implicit declaration of function 'sendfile' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
        ret = sendfile(in, out, offset, &sbytes, &sf, flags);
              ^
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall    -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration  -I/Users/jaydenl/Dev/kivy/kvcalc/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Include/internal -IObjects -IInclude -IPython -I. -I/Users/jaydenl/Dev/kivy/kvcalc/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Include    -DPy_BUILD_CORE_BUILTIN  -c /Users/jaydenl/Dev/kivy/kvcalc/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Modules/_sre.c -o Modules/_sre.o
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall    -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration  -I/Users/jaydenl/Dev/kivy/kvcalc/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Include/internal -IObjects -IInclude -IPython -I. -I/Users/jaydenl/Dev/kivy/kvcalc/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Include    -DPy_BUILD_CORE_BUILTIN  -c /Users/jaydenl/Dev/kivy/kvcalc/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Modules/_codecsmodule.c -o Modules/_codecsmodule.o
1 error generated.
make: *** [Modules/posixmodule.o] Error 1
make: *** Waiting for unfinished jobs....
1 warning generated.

完整错误和文件: https://github.com/sqwatato/Buildozer-Kivy-MacM1-Error/tree/main

我的第一个错误的答案是使用 Rosetta 2 作为终端。 对于第二个问题,https://groups.google.com/g/kivy-users/c/T4ek52mmvpw。我应用了补丁,它起作用了。