Android의 external directory 아래에는 external project들이 들어 있는데, 150개가 넘는 외부 프로젝트들을 보고 있으면 ‘바퀴를 재발명하지 말라’는 격언이 떠오른다.
Jellybean version이 release되었을 때 궁금해서 여기저기 찾아보고 처음으로 문서로 만들었는데 Kikat이 나온김에 최신 버전에 맞춰서 업데이트 했다. 다른 reference없어서 README file을 읽어보고 그게 없으면 web에서 찾아 보고 해서 만든 것이어서 오류의 가능성이 있긴 하지만 궁금해 하는 많은 사람들에게 도움이 되길 바라며 Google docs에 작성한 문서를 공개한다.
알림)
1. 검은색은 마지막 버전에서 빠진것, 파란색은 최종 버전에서 추가된 것을 의미합니다. (2012년 12월 현재 최종버전은 Kitkat)
2. 오류가 있을 수 있으니 주의 하세요. Feedback 환영합니다.
Mac용 AndroidStudio v0.2.3을 설치하고 처음으로 ‘New Project’를 만드는데 마지막 단계에서 “Failed to import Gradle project:” error popup이 뜨면서 제대로 되지 않는다. 실제로는 project directory와 file들도 모두 생기는데 project가 등록되지 않는다. Error log로 봐서는 build와 관련이 있는 Gradle이 제대로 동작하지 못한 문제인것 같다.
Log는 “~/Library/Logs/AndroidStudioPreview/idea.log”에서 볼 수 있다.
Failed to import Gradle project: /Users/YOUR_ID/.gradle/wrapper/dists/gradle-1.6-bin/72srdo3a5eb3bic159kar72vok/gradle-1.6-bin.zip.lck (No such file or directory)
Android developer page에 Gradle의 import와 관련된 문제가 발생했을 때 Android SKD Manager를 띄워서 Extras 아래에 있는 ‘Android Support Repository’ 항목을 선택해주어야 한다는 내용이 니와 있어서 따라 했는데도 문제가 계속 생겼다.
Home directory에서 permission error가 나는게 이상해서 home directory의 permission을 보니 내 home directory에 owner가 write permission이 없다!! (읭?)
Home directory에 write permission을 줄까 하다가 mac의 보안정책 원래 그럴지도 모르니 그냥 message가 불평하는 대로 ~/.gradle directory를 만들어 주었더니 잘 돌아간다. lol
Android에 기반한 project를 repo로 mirror로 만들때는 –mirror option을 주어서 bare git을 만든다(지난 posting 참조). 만약 이렇게 만들어진 bare repository로 부터 일반적인 형태의 source repository를 생성하려 한다면 어떻게 해야 할까? 이 posting에서는 git-daemon등을 설치 하지 않고 local에 있는 bare git으로 부터 source 구조를 만들어 내는 방법을 설명한다.
Repo Init
$ repo init help
Usage: repo init -u url [options]
repo init 명령을 수행할 때 -u 뒤에 url을 적어준다. 일반적으로 이 부분에 ‘git://’이나 ‘ssh://’ protocol로 시작하는 주소를 적지만 우리가 하려는 것은 file 복사 이므로 ‘file://’을 적어서 repo init을 수행한다.