Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docker buildozer Aidl not found, please install it. #1357

Closed
oleg-medovikov opened this issue Sep 1, 2021 · 8 comments
Closed

docker buildozer Aidl not found, please install it. #1357

oleg-medovikov opened this issue Sep 1, 2021 · 8 comments
Labels

Comments

@oleg-medovikov
Copy link

  • Python: 3.9
  • OS: clearlinux
  • Buildozer: 1.2.0.dev0

Description

On the first attempt to use it, he asked to install the package.

Apparently it needs to be added to the docker script

buildozer.spec

default

Logs

# Aidl not found, please install it.
@RobertFlatt
Copy link
Contributor

Aidl is part of the Google tools.
To get the tools you have to accept the Google license agreements.

Delete ~/.buildozer , then buildozer android debug again accepting the license agreements if you want to get the tools.

@afmaster
Copy link

afmaster commented Nov 3, 2021

Same problem here trying to compile an apk with flask as webview. I'vew tested in 4 different computers, including google colab and same error occurs. "Aidl not found".

I've tested all the proposed solutions here: #413

None of them worked.

I think Buildozer cannot install android sdk and android tools properly.

@RobertFlatt
Copy link
Contributor

Assuming the install instructions are followed https://github.com/kivy/buildozer/blob/master/docs/source/installation.rst

The cause of "Aidl not found" is not accepting the Google license agreements. If you don't do this then Google does not allow downloading the tools and the Google tool Aidl is not found. Google's download requires you type Y to accept the license.

@afmaster
Copy link

afmaster commented Nov 3, 2021

That makes totally sense, Mr. RobertFlatt. Thank you. I've read a thread posting this issue, regarding "Y" to accept the license. But, I'm not asked to that agreement during the Buildozer processing. Is there some way to force buildozer to ask for this agreement. Thank you in advance.

I also tested this command:

~/.buildozer/android/platform/android-sdk/tools/bin/sdkmanager "build-tools;29.0.0"

An error occurred:


Warning: Could not create settings
java.lang.IllegalArgumentException
	at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.<init>(SdkManagerCliSettings.java:428)
	at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.createSettings(SdkManagerCliSettings.java:152)
	at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.createSettings(SdkManagerCliSettings.java:134)
	at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:57)
	at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Usage:
  sdkmanager [--uninstall] [<common args>] [--package_file=<file>] [<packages>...]
  sdkmanager --update [<common args>]
  sdkmanager --list [<common args>]
  sdkmanager --licenses [<common args>]
  sdkmanager --version

With --install (optional), installs or updates packages.
    By default, the listed packages are installed or (if already installed)
    updated to the latest version.
With --uninstall, uninstall the listed packages.

    <package> is a sdk-style path (e.g. "build-tools;23.0.0" or
             "platforms;android-23").
    <package-file> is a text file where each line is a sdk-style path
                   of a package to install or uninstall.
    Multiple --package_file arguments may be specified in combination
    with explicit paths.

With --update, all installed packages are updated to the latest version.

With --list, all installed and available packages are printed out.

With --licenses, show and offer the option to accept licenses for all
     available packages that have not already been accepted.

With --version, prints the current version of sdkmanager.

Common Arguments:
    --sdk_root=<sdkRootPath>: Use the specified SDK root instead of the SDK
                              containing this tool

    --channel=<channelId>: Include packages in channels up to <channelId>.
                           Common channels are:
                           0 (Stable), 1 (Beta), 2 (Dev), and 3 (Canary).

    --include_obsolete: With --list, show obsolete packages in the
                        package listing. With --update, update obsolete
                        packages as well as non-obsolete.

    --no_https: Force all connections to use http rather than https.

    --proxy=<http | socks>: Connect via a proxy of the given type.

    --proxy_host=<IP or DNS address>: IP or DNS address of the proxy to use.

    --proxy_port=<port #>: Proxy port to connect to.

    --verbose: Enable verbose output.

* If the env var REPO_OS_OVERRIDE is set to "windows",
  "macosx", or "linux", packages will be downloaded for that OS.

Then I went to:

~/Android\sdk\tools\bin

Tested:

sdkmanager --licenses

and

yes | sdkmanager --licenses

Error:

sdkmanager: command not found

@RobertFlatt
Copy link
Contributor

If you don't type Y Buildozer's data base is corrupted.

https://github.com/Android-for-Python/Android-for-Python-Users#aidl-not-found

Delete ~/.buildozer

Then you can start again, don't hit the space bar if it seems to pause on the first run, look for the accept question.

This forum is for development issues, generally usage questions should be addressed to the user groups.
https://groups.google.com/g/kivy-users
https://discord.gg/Sa3e9AY3 (invite expires in 7 days)

@brunofitas
Copy link

brunofitas commented Mar 24, 2022

I got this error as well.
As mentioned above, the cause for "Aidl not found" is not accepting the Google license agreements.
Run the docker container in interactive mode and accept the agreements.

docker run -it -v "$(pwd)":/home/user/hostcwd kivy/buildozer android debug

@vasi26ro
Copy link

vasi26ro commented May 8, 2022

docker start -a <container_name> -i works also.

@misl6 misl6 added the support label Jul 21, 2022
@github-actions
Copy link

👋 @oleg-medovikov, we use the issue tracker exclusively for bug reports and feature requests. However, this issue appears to be a support request. Please use our support channels to get help with the project.
Let us know if this comment was made in error, and we'll be happy to reopen the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants