Android Weekly(http://androidweekly.net/)는 매주 발행되는 안드로이드 뉴스레터입니다. 영어 기사를 정독할 시간이 없는 분을 위해 핵심 꼭지를 요약했습니다.
주간 안드로이드 뉴스를 요약해 드립니다. Android Weekly 187 원문도 읽어보세요.
안드로이드 스튜디오 팁 모음
- Language Injection
- IntelliJ가 제공하는 Language Injection 기능을 통해 JSON 스트링 입력을 쉽게 할 수 있습니다.
- ⌥+Return이나 ⌘+⇧+A를 누르고 Inject Language/Reference를 찾아보세요.
- REGEXP 테스트
- 정규식 표현 테스트를 할 수 있습니다.
- 스마트 완성
- ⌥+Space를 누르면 visibility scope 내의 클래스 이름, 메서드, 멤버 변수, 키워드 등을 검색할 수 있는 건 알고 계시겠죠? 다만 해당 글자로 시작하는 대상을 대소문자 구분해서 검색되므로 불편할 수 있습니다.
- ⌥+⇧+Space를 누르면 current context에 적합한 요소 중 해당 문자를 포함하는 요소를 검색할 수 있습니다.
- INTELLIJ 15 자체 REST 클라이언트
- Postman이나 Paw 등의 추가 프로그램 도움 없이도 API 호출을 테스트해볼 수 있습니다.
SDK 버전 설정
안드로이드는 상위 호환성을 중시하기 때문에 compileSdkVersion, minSdkVersion, targetSdkVersion 개념이 있습니다.
- compileSdkVersion
- compileSdkVersion으로 Gradle에 어떤 안드로이드 SDK 버전으로 앱을 컴파일할지 알려줍니다. 즉, 지원할 수 있는 가장 높은 API 버전을 의미합니다.
- 컴파일 시에만 적용되므로 runtime 동안에는 영향을 미치지 않습니다.
- 항상 최신 버전의 SDK로 지정하는 것이 좋습니다.
- minSdkVersion
- minSdkVersion은 앱이 지원할 가장 낮은 API 버전을 지정합니다.
- Google Play에서 사용자의 기기에 앱이 설치될 수 있을지 결정하는 요소입니다.
- minSdkVersion 보다 높은 API를 사용하면 lint에서 경고를 띄워 알려주므로 미리 방지할 수 있습니다.
- Support Library나 Google Play Service는 자체 minSdkVersion을 가지므로 이 중 가장 높은 버전 이상으로 맞춰야 합니다.
- targetSdkVersion
- targetSdkVersion이 바뀌어야 앱의 행동 로직이 바뀌므로, 안드로이드가 상위 호환성을 제공할 수 있습니다.
- 예를 들어 Android 6.0에서 도입된 선택적 권한 부여(runtime permissions model, 자세한 설명은 여기를 참조하세요)행동 로직은 API 23을 targetSdkVersion으로 지정해야 적용됩니다.
-
Gradle로 SDK 버전 설정하기
- compileSdkVersion, minSdkVersion, targetSdkVersion을 잘 설정해야 합니다. 모듈의 build.gradle 파일에서 다음과 같이 설정할 수 있습니다.
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.example.checkyourtargetsdk"
minSdkVersion 7
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
}
- compileSdkVersion과 달리 minSdkVersion과 targetSdkVersion은 AndroidManifest.xml에 다음처럼 생성됩니다. 해당 파일의 내용을 고쳐도 무시되며 Gradle에서 설정한 대로 적용됩니다.
<uses-sdk android:targetSdkVersion=”23" android:minSdkVersion=”7" />
- 세 종류의 SDK 버전 관계는 다음과 같습니다.
minSdkVersion <= targetSdkVersion <= compileSdkVersion
- 안정적인 앱을 원한다면 다음처럼 설정하세요.
minSdkVersion (최소 레벨의 SDK) <=
targetSdkVersion == compileSdkVersion (최대 레벨의 SDK)
원문 보기
더 많은 기사를 Android Weekly 187 원문에서 확인하세요.
컨텐츠에 대하여
이 컨텐츠는 저자의 허가 하에 이곳에서 공유합니다.