如何使用gradle密度拆分生成与tvdpi和560dpi设备兼容的apks?
我在谷歌播放应用程序中使用gradle密度分割,我注意到无论我改变什么,它都不会生成 android:screenDensity =“213”(对于tvdpi)和 android: screenDensity =“560”(对于nexus 6)在 compatible-screens 元素内,因此我的apks与某些流行的设备不兼容。
出于测试目的,我使用gradle构建工具1.1.0版创建了Android Studio(1.2b)中的新应用程序,并为我的app模块提供了以下build.gradle文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.marek.densitysplittest"
minSdkVersion 21
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
splits {
density {
enable true
compatibleScreens 'small', 'normal', 'large', 'xlarge'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
正在为 ldpi,mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi 生成apks而不是 tvdpi,400dpi,560dpi 。
但是我发现density split example表示可以使用“560dpi”之类的值:
splits {
density {
enable true
exclude "ldpi", "tvdpi", "xxxhdpi", "400dpi", "560dpi"
compatibleScreens 'small', 'normal', 'large', 'xlarge'
}
}
我还导入了该项目,并从构建文件中删除了 exclude ,但仍未创建它们( tvdpi,400dpi和560dpi )。
我还尝试使用 include reset(),效果是一样的 - 没有反编译的apks包含正确的兼容屏幕标签,我需要屏幕密度。