My thoughts Just do it!

Android Platform-Tools und Build-Tools auf CentOS 6.x

Der User Juloor hat im Post Einfach mal die Android-Build-Tools auf CentOS 6 fixen den Kommentar veröffentlicht, das die aktuellen Build- und Platform-Tools mit der originalen Anleitung nicht mehr zum Laufen zu bringen sind.

Ich hab das mal als sportliche Herausforderung angenommen, das Problem zu beheben.

Hier mein Vorgehen:

1. Installieren einer neueren Version der glibc

Ich hab nach einem kurzen Test festgestellt, dass die neueste Version 2.26 mit meinem aktuellen Platform-Compiler Gcc 4.4.7 nicht bauen wird.

Mit der mindest-angeforderten Version 2.15 hagelt es Segmentation Faults.

Daher bin ich zunächst auf die 2.20 geschwenkt und habe diese nach der o.g. Anleitung in /opt/glibc-2.20 installiert. Entpacken - ins neue Verzeichnis wechseln und einen Unterordner "build" erstellen, wieder hinein wechseln.

$ ../configure --prefix=/opt/glibc-2.20 && make && make install

2. Danach habe ich die Platform-Tools auf die aktuellste Version (rev 26) upgedated

$ cd /opt/android/tools
$ ./android update sdk --all --no-ui --filter 1,2,3 

Dabei wurden auch die Android SDK Tools auf Version 25.2.5 und die Android SDK Build-tools auf Version 26.0.1 angehoben.

3. Anschließend habe ich den "Patch" aus https://www.nkey.de/post/einfach-mal-die-android-build-tools-auf-centos-6-fixen/ wieder auf /opt/android/build-tools/26.0.1/aapt und zusätzlich auf /opt/android/platform-tools/adb angewendet, diesmal aber etwas am Shell-Script modifiziert

#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
/opt/glibc-2.20/lib/ld-linux-x86-64.so.2 --library-path /opt/glibc-2.20/lib:$LD_LIBRARY_PATH:/lib64 ${DIR}/adb.bin $*

Ausgaben:

$ /opt/android/platform-tools/adb version
Android Debug Bridge version 1.0.39 Revision 3db08f2c6889-android
Installed as /opt/glib-2.20/lib/ld-2.20.so
$ /opt/android/build-tools/26.0.1/aapt version
Android Asset Packaging Tool, v0.2-4187382

Einfach mal die Android-Build-Tools auf CentOS 6 fixen

EDIT: Wenn man die neuesten Build-Tools 25.2.5 sowie die Platform-Tools 26.0.1 laufen lassen will, funktioniert diese Anleitung nicht mehr. Bitte statt dessen den neuen Eintrag verwenden: https://www.nkey.de/post/android-platform-tools-und-build-tools-auf-centos-6-x/ 

 

Leider können die aktuellen Android SDK Build Tools (Version 25.0.2) auf CentOS 6 nicht out-of-the-box laufen. Man bekommt den Fehler

/lib64/libc.so.6: version `GLIBC_2.14' not found

 

Also erst mal die GLibC 2.14 installieren, Howto gibt es hier: http://www.imperx.com/wp-content/uploads/Member/Cameras/Bobcat_Gen2/GEV%20Linux/Workaround_to_install_GLIBC_2.14_to_CentOS_6.7.pdf

 

Danach muss man aapt "patchen". Ich bin dafür diesen Weg gegangen:

 

cd /opt/android/build-tools/25.0.2
mv aapt{,.bin}
cat > aapt.sh << EOF
#!/bin/bash
DIR="\$( cd "\$( dirname "\${BASH_SOURCE[0]}" )" && pwd )"
LD_LIBRARY_PATH=/opt/glibc-2.14/lib \${DIR}/aapt.bin \$*
EOF
chmod +x aapt.sh
ln -s aapt.sh aapt

 

Und schon funktioniert der Aufruf von /opt/android/build-tools/25.0.2/aapt:

/opt/android/build-tools/25.0.2/aapt version
Android Asset Packaging Tool, v0.2-3544217
Home