Build target 은 도무지 개념이 잡히지 않네요 버전을 8로 선택하면 8버전 이상은 설치되고 8버전 이하는 설치조차 안되는건지 그렇다면 빌드타겟하고 최소타겟하고 기능이 중복되는데 그건 아닌것같고 도무지 개념이 안잡히네요 아 이번에 이클립스를 업데이트했더니 새프로젝트 생성시 compile with 라는것도 생겼던데 이것도 뭔지 아시는분 답변바래요 ㅠㅠ
초보의 어이없는 질문이지만 선배님들의 도룸기다려 봅니다
앞부분 잠깐 읽고 답변 드리자면
android:targetSdkVersion
이 설정되어 있지 않은 경우에는
minSdkVersion
에 맞춰서 빌드를 한다고 하네요.
아래 문장이 도움이 될 듯 하여 번역 해 드립니다.
This attribute informs the system that you have tested against the target version and the system should not enable any compatibility behaviors to maintain your app's forward-compatibility with the target version. The application is still able to run on older versions (down to
minSdkVersion
).
이 속성은 system 에게 내가 이 target version 에서 test 를 했다고 알려주는 기능을 합니다.
system 은 target version 에 대해 당신의 앱의 forward-compatibility 를 유지 하기 위해 어떠한 compatibility 행동도 enable 시키지 않아야 한다. 앱은 여전히 minSdkVersion 에서 실행 될 수 있다.
조금 의역을 해 드리자면 target version 을 적어도 바뀌는 것은 아무것도 없다는 이야기 입니다. 위에서 얘기하듯이 system 이 target version 에 맞춰서 앱을 실행시켜주려고 어떤 행동을 하지는 않는다는 것입니다. 그러니까 이 녀석은 단순히 정보 역할 정도만 하신다고 봐도 무방할 듯 합니다.(참고로 이 이후에 영어 문장을 읽지 않았기 때문에 혹시나 틀렸다면 알려주세요~ ^0^;;)
라고 썼는데, 좀 더 읽고 나서 보니, 저 target version 을 보고 system 에서 forward-compatibility 만 하지 않는다는 이야기이군요.
그러니까 만약 저 target version 을 올려주면, 새로운 버전의 api 로 저녀석을 돌리는 거죠. 내부는 잘 모르겠지만 글로 추측한 건데, version 에 따라 다른 code 를 타도록 api 가 작성되어 있을 수 있겠네요.
예를 들면, 만약 플리킹을 하는데 이녀석이 8 버전에서는 속도 10 으로 작동했는데, 12버전부터 속도가 8로 바뀌었다고 한다면,
어플을 minSdkVersion 을 8 로 놓고, target version 을 12 에 놓은 경우에, 이 녀석이 만약 api level 이 13 인 녀석에서 돌아간다면, 이 어플의 플리킹 속도는 8이 되는거죠.
뭐 여하튼 이런 이야기 이네요 ^^ 너무 두서없어서 죄송~
http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#target