I have, for a while, been interested in OBD automotive diagnostics and have tried using several OBD applications on Android and Windows phone. One of them is Android OBD Reader. To add this to the Jenkins build server I have installed the Android SDK for Linux and the Gradle build system.
I tried using the Jenkins Gradle plugin, but that didn’t allow me to set the ANDROID_HOME environment variable for the Gradle build, so I have used a shell command instead. This lead me to an error “/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory”. This can be fixed by sudo yum install glibc.i686
Running $ANDROID_HOME/build-tools/22.0.1/aapt gives a little more information about the actual errors encountered during the build. Cycling around filling in all the missing libraries:
Library | Package |
ld-linux.so.2 | glibc.i686 |
libstdc++.so.6 | libstdc++48.i686 |
I think these errors are because I’m trying to run a 32-bit program on a 64-bit operating system, which doesn’t have a complete set of 32-bit libraries installed. It seems a bit odd to me that the Android SDK would be 32-bit, considering that the operating system itself runs on processors capable of 64-bit operation (even if that is not actually being used).