1. 程式人生 > >sdk build tools 25.0.0編譯依賴glibc2.14

sdk build tools 25.0.0編譯依賴glibc2.14

報錯資訊:/build-tools/25.0.0/aapt:** /lib64/libc.so.6: version GLIBC_2.14’
not found (required by /var/lib/jenkins/tools/android-sdk/build-tools/25.0.0/aapt)/var/lib/jenkins/tools/android-sdk/build-tools/25.0.0/aapt: /lib64/libc.so.6: versionGLIBC_2.14’ not found (required by /var/lib/jenkins/tools/android-sdk/build-tools/25.0.0/lib64/libc++.so) FAILED

這是因為sdk build tools 25.0.0編譯依賴glibc2.14,glibc是linux系統底層api,幾乎其它任何執行庫都會依賴於glibc。所以如果不是很確定的話,不要輕易更改系統glibc。可以選擇升級linux系統,但這顯然也不是一個省事兒的辦法,那麼怎麼辦呢。

我們可以自己重新編譯一個glibc2.14放在其他目錄。

wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
tar zxvf glibc-2.14.tar.gz
cd glibc-2.14
mkdir build
cd build
../configure -prefix=/opt/glibc-2.14
make -j4 sudo make install export LD_LIBRARY_PATH=/opt/glibc-2.14/lib

另外還需要在aapt指定使用編譯的glibc-2.14。如果不指定 sdk還是會呼叫系統預設glibc版本
首先將build tools中的aapt重新命名為:aapt_
再新建一個指令碼aapt用來指定glibc 2.14的環境變數,設定環境變數之後再啟動重新命名的aapt_,指令碼為

#!/bin/sh
echo "$0"_[email protected]
export LD_LIBRARY_PATH=/opt/glibc-2.14/lib && "$0
"
_ [email protected]