.png)
Android SDK가 설치되어 있고 PATH에서 바이너리를 build-tools/android-VERSION
사용할 수 있기를 원하므로 몇 줄을 추가합니다.
ANDROID_SDK=/Application/Binaries/adt-bundle-linux-x86_64-20140321/sdk/
ANDROID_PATH=$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools:$ANDROID_SDK/build-tools/android-4.4.2/
여기에 문제가 있습니다. 언제든지 SDK를 업데이트할 수 있으므로 build-tools/android-4.4.2/
이에 따라 변경될 수도 있습니다. 그렇다면 파일을 다시 편집하고 android-version
$PATH의 해당 부분을 업데이트해야 합니다.
그래서 프로필을 이렇게 바꿨습니다.
ANDROID_SDK=/Application/Binaries/adt-bundle-linux-x86_64-20140321/sdk/
ANDROID_PATH=$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools
for x in $ANDROID_SDK/build-tools/android-*/; do
export PATH=$PATH:$x
done
멍청해 보이는데 더 좋은 방법은 없을까요?
답변1
이상적인 방법은 이라는 소프트 링크 디렉터리를 생성 adt
하고 SDK 변경 후 다시 생성하는 것입니다.
따라서 당신은 PATH
동일하게 유지됩니다.
답변2
ls
이 접근 방식에서는 두 차례에 걸쳐 시간에 따라 디렉터리에 대해서만 정렬된 의 출력 ( )이 첫 번째 줄을 선택하는 명령 -td
으로 파이프됩니다 . 결과적으로 PATH 환경 변수를 수정하려면 둘 다의 최신 버전을 사용해야 합니다 head
.adt-bundle-linux-x86_64-*/sdk
build-tools/android-*/
ANDROID_SDK=$( ls -td /Application/Binaries/adt-bundle-linux-x86_64-*/sdk/ | head -n 1 )
if ! [ -z $ANDROID_SDK ] ; then
ANDROID_PATH=$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools
ANDROID_BUILDTOOLS=$( ls -td $ANDROID_SDK/build-tools/android-*/ | head -n 1 )
if ! [ -z $ANDROID_BUILDTOOLS ] ; then
echo "Adding $ANDROID_BUILDTOOLS to PATH"
export PATH=$PATH:$ANDROID_BUILDTOOLS
else
echo "Couldn't find build tools"
fi
else
echo "Couldn't find SDK"
fi
답변3
PATH="$PATH:$(printf '%s:' $ANDROID_SDK/build-tools/android-[0-9.]*/)"
작동해야합니다.
cd ~ ; mkdir dir1 dir2 dir3
( PATH=$(printf %s: $HOME/dir[12])
echo "$PATH" )
/home/mikeserv/dir1:/home/mikeserv/dir2:
Another method:
PATH="$PATH:$( set -- `printf '%s\n' "$ANDROID_SDK"*/android[0-9.]*/ |
sort -rV` ; [ -d "$1" ] && echo "$1" )"
그것은 이점을 취한다sort's -Version
위치 매개변수를 보장해야 하는 처리"$1"
항상 Android SDK의 최신 버전으로 설정됩니다. 예를 들어:
정렬하지 않고:
% printf %s\\n ~/dir[0-9]*
/home/mikeserv/dir1
/home/mikeserv/dir2
/home/mikeserv/dir23
/home/mikeserv/dir3
/home/mikeserv/dir45
그것으로:
% printf %s\\n ~/dir[0-9]* | sort -V
/home/mikeserv/dir1
/home/mikeserv/dir2
/home/mikeserv/dir3
/home/mikeserv/dir23
/home/mikeserv/dir45
그리고 반대:
% printf %s\\n ~/dir[0-9]* | sort -rV
/home/mikeserv/dir45
/home/mikeserv/dir23
/home/mikeserv/dir3
/home/mikeserv/dir2
/home/mikeserv/dir1