0

If I don't use sudo I get a permission error:

$ sdkmanager "build-tools;33.0.1"     
Traceback (most recent call last):
  File "/usr/bin/sdkmanager", line 33, in <module>
    sys.exit(load_entry_point('sdkmanager==0.6.0', 'console_scripts', 'sdkmanager')())
  File "/usr/lib/python3.10/site-packages/sdkmanager.py", line 1141, in main
    method(args.packages)
  File "/usr/lib/python3.10/site-packages/sdkmanager.py", line 972, in install
    install_dir.parent.mkdir(parents=True, exist_ok=True)
  File "/usr/lib/python3.10/pathlib.py", line 1175, in mkdir
    self._accessor.mkdir(self, mode)
PermissionError: [Errno 13] Permission denied: '/opt/android-sdk/build-tools'

If I use sudo I get this error (or switch to sudo zsh)

sdkmanager "build-tools;33.0.1"                                               ✔  root@wiley 
Traceback (most recent call last):
  File "/usr/bin/sdkmanager", line 33, in <module>
    sys.exit(load_entry_point('sdkmanager==0.6.0', 'console_scripts', 'sdkmanager')())
  File "/usr/lib/python3.10/site-packages/sdkmanager.py", line 1141, in main
    method(args.packages)
  File "/usr/lib/python3.10/site-packages/sdkmanager.py", line 954, in install
    url = packages[key]
KeyError: ('build-tools', '33.0.1')
chovy
  • 72,281
  • 52
  • 227
  • 295

1 Answers1

0

As the output clearly states, /opt/android-sdk is not owned by the user, but root. Since you run sdkmanager as a normal user, it doesnt get the permission to write in /opt/android-sdk.

Running ..

cd /opt
sudo chown $USER android-sdk

.. will make your user as the owner of the directory and thus grant sdkmanager the permissions to install in that directory.

You shouldn't generally run things like sdmanager as root.

madhavpcm
  • 21
  • 3