kivy / buildozer

Generic Python packager for Android and iOS
https://buildozer.readthedocs.io
MIT License
1.75k stars 503 forks source link

When executing buildozer android debug, an error message is displayed saying that aidl cannot be found #1809

Closed libai919 closed 5 months ago

libai919 commented 6 months ago

I have an error when executing buildozer android debug

Traceback (most recent call last): File "/root/.local/bin/buildozer", line 8, in sys.exit(main()) File "/root/.local/lib/python3.10/site-packages/buildozer/scripts/client.py", line 13, in main Buildozer().run_command(sys.argv[1:]) File "/root/.local/lib/python3.10/site-packages/buildozer/init.py", line 1024, in run_command self.target.run_commands(args) File "/root/.local/lib/python3.10/site-packages/buildozer/target.py", line 93, in run_commands func(args) File "/root/.local/lib/python3.10/site-packages/buildozer/target.py", line 103, in cmd_debug self.buildozer.prepare_for_build() File "/root/.local/lib/python3.10/site-packages/buildozer/init.py", line 172, in prepare_for_build self.target.install_platform() File "/root/.local/lib/python3.10/site-packages/buildozer/targets/android.py", line 616, in install_platform self._install_android_packages() File "/root/.local/lib/python3.10/site-packages/buildozer/targets/android.py", line 567, in _install_android_packages self._check_aidl(installed_v_build_tools) File "/root/.local/lib/python3.10/site-packages/buildozer/targets/android.py", line 592, in _checkaidl , _, returncode = self.buildozer.cmd(aidl_cmd, File "/root/.local/lib/python3.10/site-packages/buildozer/init.py", line 289, in cmd process = Popen(command, **kwargs) File "/usr/lib/python3.10/subprocess.py", line 971, in init self._execute_child(args, executable, preexec_fn, close_fds, File "/usr/lib/python3.10/subprocess.py", line 1863, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: '/root/.buildozer/android/platform/android-sdk/build-tools/35.0.0-rc4/aidl'

And executed in the /root/.buildozer/android/platform/android-sdk/tools/bin directory: ./sdkmanager --list --sdk_root=./ ./sdkmanager --licenses --sdk_root=./

I also checked whether the aidl file exists through the ls command, but when I manually open the aidl, the system says that the file cannot be executed and there is no such file or directory. I clearly agreed to the Google license, so what went wrong?

ignis32 commented 6 months ago

I am bumping into the same issue.

Looks like Run '/home/user/.buildozer/android/platform/android-sdk/tools/bin/sdkmanager --sdk_root=/home/user/.buildozer/android/platform/android-sdk platform-tools' and other commands that trigger license request - happen in this function here:

android.py

I've changed

auto_accept_license = self.buildozer.config.getbooldefault( 'app', 'android.accept_sdk_license', False) to auto_accept_license = True

rebuilt the buildozer image and was able to skip the issue.

Probably this variable should be configured somewhere in a proper way, maybe in a spec, but I cannot find it yet.

github-actions[bot] commented 5 months ago

👋 @libai919, Sorry to hear you are having difficulties with Kivy's Buildozer; Kivy unites a number of different technologies, so building apps can be temperamental. We try to use GitHub issues only to track work for developers to do to fix bugs and add new features to Buildozer. This issue has been closed, because it doesn't describe a bug or new feature request for Buildozer. There is a mailing list and a Discord channel to support Kivy users debugging their own systems, which should be able to help. They are linked in the ReadMe. Of course, if it turns out you have stumbled over a bug in Buildozer, we do want to hear about it here. The support channels should be able to help you craft an appropriate bug report.