Package Details: android-sdk 26.0.2-2

Git Clone URL: https://aur.archlinux.org/android-sdk.git (read-only)
Package Base: android-sdk
Description: Google Android SDK
Upstream URL: https://developer.android.com/studio/releases/sdk-tools.html
Keywords: android development
Licenses: custom
Submitter: None
Maintainer: dreamingincode
Last Packager: dreamingincode
Votes: 1439
Popularity: 5.781318
First Submitted: 2007-11-12 19:26
Last Updated: 2017-06-24 07:12

Dependencies (22)

Sources (5)

Pinned Comments

dreamingincode commented on 2017-04-18 11:40

I'm going to update this package to 26.0.1 (it has been long-outdated), according to https://dl.google.com/android/repository/repository2-1.xml which is used by Android Studio.

Some tools have been removed by upstream in this update (namely the standalone SDK Manager's GUI), and you may want to check against https://developer.android.com/studio/releases/sdk-tools.html for the breaking changes before this update.

If you are using an AUR helper and you want to stay on the old version, consult your AUR helper's manual.

xyproto commented on 2016-08-22 08:39

* If the android-sdk license had allowed binary redistribution, this would probably have been a package in [community] instead of in AUR.

* If there are problems with conflicting files, you can check which package owns them with `pacman -Qo`. If no package owns the file, it has most likely been placed there by you, the user (possibly using the SDK Manager). You can remove the conflicting files, either with `rm` or by installing the android-sdk package by force.

* The SDK manager may notify that there is an update available before a download link is available on the web. Please check that a download link is available before flagging this package as out-of-date.

Latest Comments

dreamingincode commented on 2017-06-24 07:14

@yan12125 Thanks, fixed.

yan12125 commented on 2017-06-24 07:00

Seems there's something wrong in .SRCINFO? pkgrel is still 1.

lonaowna commented on 2017-06-21 17:13

Sounds good! Thanks for the work!

dreamingincode commented on 2017-06-21 16:41

I thought of using `readelf` instead of `ldd` and here is a more simple approach that works for all the android packages:

$ cd /lib/ && find /opt/android-sdk/tools/ -type f -executable | LANG=C xargs readelf -d 2>/dev/null | grep -oP '(?<=Shared library: \[).*(?=\])' | LANG=C xargs pacman -Qo | cut -d' ' -f5 | sort | uniq
fontconfig
freetype2 <- fontconfig
gcc-libs-multilib => lib32-gcc-libs (mksdcard)
glibc => lib32-glibc <- lib32-gcc-libs (mksdcard)
libx11
libxext
libxrender
zlib <- freetype2

So the result is the same. But I'm going to list them all so that we don't need to worry about other packages' dropping dependencies.

The update may need coordination with other Android packages, so I'll do it after I deal with `android-emulator`.

dreamingincode commented on 2017-06-21 16:30

I used the following command to check the dependencies.
$ cd /lib/ && find /opt/android-sdk/tools/ -type f -executable | LANG=C xargs ldd | grep -oP '(?<= )(?!not a|linux-(gate|vdso)).*' | cut -d' ' -f1 | sort | uniq | LANG=C xargs pacman -Qo | cut -d' ' -f5 | sort | uniq

The result:

~~bzip2 (Inside base)~~
~~expat (Required by fontconfig)~~
fontconfig
~~freetype2 (Required by fontconfig)~~
gcc-libs-multilib => lib32-gcc-libs (Because I'm doing this under /lib/ not /lib32/)
~~glib2 (Required by harfbuzz, which is required by freetype2)~~
~~glibc (Inside base)~~
~~graphite (Required by harfbuzz)~~
~~harfbuzz (Required by freetype2)~~
~~lib32-glibc (Required by lib32-gcc-libs)~~
~~libpng (Required by freetype2)~~
~~libx11 (Required by libxext and libxrender)~~
~~libxau (Required by libxcb)~~
libxcb
~~libxdmcp (Required by libxcb)~~
libxext
libxrender
~~pcre (Required by glib2)~~
~~zlib (Required by pcre)~~

So in the end it is:

fontconfig
lib32-gcc-libs
libxcb
libxext
libxrender

I'll update it tomorrow.

lonaowna commented on 2017-06-21 16:11

BTW, you only need lib32-gcc-libs, as it depends on lib32-glibc.

lonaowna commented on 2017-06-21 15:55

@dreamingincode, you're right! I missed mksdcard.

Thanks for the effort! Even with those two remaining, that's quite some packages that are no longer required, which is nice. :)

dreamingincode commented on 2017-06-21 15:41

@lonaowna

I tested with `find /opt/android-sdk/tools/ -type f -executable | xargs ldd | grep -E 'ld-linux.so|$'`, and fount out that only `mksdcard` (except `monitor-x86/*`) is 32-bit. And I suppose `*.jar`s all have a flavor in `x86_64` if they include a native library.

As for `mksdcard`:

```
/opt/android-sdk/tools/mksdcard:
linux-gate.so.1 (0xf77c8000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7769000)
libc.so.6 => /usr/lib32/libc.so.6 (0xf75a8000)
/lib/ld-linux.so.2 (0xf77ca000)
```

It needs `lib32-gcc-libs` and `lib32-glibc`. So I'm going to update the dependencies according to this soon.

lonaowna commented on 2017-06-21 15:17

@dreamingincode, ah yes sorry, that seems to be about the platform tools. So maybe this is still functional on i686 (don't know, unable to test). But still, everything seems to work without the lib32* dependencies.

dreamingincode commented on 2017-06-21 14:24

@lonaowna
If I read it correctly, those lines are saying platform tools instead of SDK tools is requiring 64-bit. And I guess it's probably the reason why the 32-bit dependencies were not removed back then in 2015.

All comments