2017-12-05 1 views
-1

방금 ​​첫 Android Studio 프로젝트를 만들었습니다. 최소 SDK 15을 선택했습니다. 왜 기본적으로 SDK를 컴파일 더 높은 .. 걱정입니까? 그것은 안전한가요? 이 구성에서 내 앱이 API 15가있는 기기에서 실행됩니까? 그러나 실제 문제은 내 compileSdkVersion 및 targetSdkVersion을 24로 바꿨을 때 발생했습니다. 어디서나 오류가 발생하여 implementation 'com.android.support:appcompat-v7:26.1.0'의 정보가 내 대상 SDK에 비해 너무 높습니다. 그래서 왜 안드로이드 스튜디오에 넣어 높은 구현 최소 SDK가 낮은 있다면?Android Studio에서 만든 build.gradle의 minSDK에 대한 구현이 너무 높음

TL : DR : 구현이 너무 높은 이유는 무엇입니까? Min API로이 구성에서 작동합니까 ?? Android Studio가 이와 같이 작동하는 이유는 무엇인가요?

build.gradle :

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 26 
    defaultConfig { 
     applicationId "com.q_back.audiocrator" 
     minSdkVersion 15 
     targetSdkVersion 26 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    implementation fileTree(dir: 'libs', include: ['*.jar']) 
    implementation 'com.android.support:appcompat-v7:26.1.0' 
    testImplementation 'junit:junit:4.12' 
    androidTestImplementation 'com.android.support.test:runner:1.0.1' 
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' 
} 
+1

'compileSdkVersion'과'minSdkVersion'을 혼동하면 [this blog post] (https://medium.com/google-developers/picking-your-compilesdkversion-minsdkversion-targetsdkversion-a098a0341ebd)를 읽어야합니다. 대 targetSdkVersion. – ianhanniballake

+0

예, 읽었지만 종속성 및 구현에 대한 내용은 없습니다 com.android.support:appcompat-v7:26.1.0 ' ' – Qback

+2

[단락] (https://medium.com/google- 개발자/picking-your-compilesdkversion-minsdkversion-targetsdkversion-a098a0341ebd # 5737)에 대한 자세한 내용은 지원 라이브러리 의존성 및'compileSdkVersion'을 참조하십시오. – ianhanniballake

답변

3

그것의 확인 및 compileSDK이 최소보다 더 될 정상 사실이다. 지원 버전의 라이브러리 버전은 compileSDK와 일치해야합니다. 26로 업그레이드하거나 지원 라이브러리를 다운 그레이드하십시오.

+0

하지만 API가 낮은 기기는 어떻게 될까요? '구현'com.android.support : appcompat-v7 : 26.1.0 '이 더 높은 경우 앱이 작동합니까? – Qback

+2

예. 그것이 minSDKVersion이 제어하는 ​​것입니다. 그러나 두 함수 사이에 추가 된 함수를 사용하면 함수를 사용할 때 충돌이 발생합니다 (또는 버전 검사를 추가하고 검사가 실패 할 경우 사용하지 않아야합니다). –

1

SDK 버전이 minSDKVersion 이상인 모든 Android 기기가 애플리케이션을 실행할 수 있습니다. compileSDK의 버전과 동일한 버전의 SDK 도구를 사용하는 것이 가장 좋으며 응용 프로그램을 실행할 수있는 장치에는 실제로 영향을 미치지 않습니다. 주요 요인은 일부 Google API가 더 낮은 SDK 수준에서 작동하지 않는다는 것입니다.

관련 문제