eclipse에서 빌드가 되지 않는 몇몇 package를 빌드하기 위해 Linux host PC에서 SDK를 만들어 사용하려고 했지만 몇몇 문제로 그대로 사용 할 수 없는 문제가 있습니다.
간단하게 빌드된 SDK에서 android.jar와 layoutlib.jar 만 변경하여 빌드 환경을 구축 할 수는 있습니다.
위에 방법으로는 emulator까지 확인 할 수 없습니다.
그래서 Linux host PC에서 빌드한 SDK를 Windows버전으로 변경 하는 방법을 알아 보겠습니다.
소스 root에 development/docs/howto_build_SDK.txt란 문서가 있습니다.
그래서 Linux host PC에서 빌드한 SDK를 Windows버전으로 변경 하는 방법을 알아 보겠습니다.
소스 root에 development/docs/howto_build_SDK.txt란 문서가 있습니다.
이 문서를 따라서 한 것입니다.
완료 후 기존 sdk 폴더에서 platform에 있는 것만 복사 하면 properties에서 여러 버전의 platform을 쉽게 바꿀 수 있습니다.
먼저 cygwin을 설치하고 필요한 package들을 설치 합니다.
autoconf, bison, curl, flex, gcc, g++, git, gnupg, make,mingw-zlib, python, zip, unzip
linux에서 빌드한 sdk zip이 있으니 소스 받고 컴파일하는 부분은 생략 하겠습니다.
[git root]/development/build/tools/make_windows_sdk.sh [android sdk zip path] 경로
이렇게 실행 시켜 주시면 됩니다.
몇 가지 문제가 있는데 JDK를 보통 Program Files에 설치를 하는데 공백이 들어간 path는 에러가 납니다.
그래서 JDK 폴더를 공백이 없는 폴더에 복사 하시고 build/core/find-jdk/tools-jar.sh를 열어 편집 합니다.
2 echo $ANDROID_JAVA_HOME/lib/tools.jar
3 else
4 # JAVAC=$(which javac)
5 JAVAC=/cygdrive/d/project/jdk1.6.0_20/bin/javac
6 if [ -z "$JAVAC" ] ; then
위에 빨간 색과 같이 복사한 패스를 넣어 줍니다.
그리고 mgwz.dll을 /cygdrive/c/cygwin/bin에서만 찾습니다.
script에 고정 경로로 되어 있는 듯 합니다.
그래서 c:\cygwin\bin에 mgwz.dll을 하나 복사 해 둡니다.
완료가 되면 /tmp/android-sdk_[SDK_NUMBER]_windows폴더가 있고 경로에 zip이 생깁니다.
완료 후 기존 sdk 폴더에서 platform에 있는 것만 복사 하면 properties에서 여러 버전의 platform을 쉽게 바꿀 수 있습니다.