1
私はminSDKVersion=17
でAndroidスタジオからサンプルプロジェクトを作成しました。コンパイルされたAPKをapp\build\outputs\apk\
からzipファイルとして開き、res
ディレクトリに移動しました。これには、minSDKより古いバージョンのレガシー用のディレクトリがたくさん含まれています。どうして?これは決して使用されない偽の43 KBを保持します。コンパイルされたAPKがminSdkVersionを尊重しないのはなぜですか?
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "vectordrawable.lelisoft.com.showvectordrawable"
minSdkVersion 17
targetSdkVersion 23
versionCode 1
versionName "1.0"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
}
APK:
- RES \色V11
- RES \描画可能MDPI-V4
- RES \レイアウトsw600dp-V13
- RES \ミップマップ-hdpi-V4
いいえ、それらを使用することができます。たとえば、res \ color-v11 \ abc_background_cache_hint_selector_material_dark.xmlがあります。あなたがそれを紹介したバージョンまで、v11からすべてのAndroidレガシーバージョンのためにAPKに存在しているということですか? –
@LeosLiterak:AFAIK、その特定のリソースは 'appcompat-v7'から来るので、' appcompat-v7'を使わないAPKには存在しません。その特定のリソースは、Android SDK、AFAIKの一部ではありません。 – CommonsWare