Gradle密度分为tvdpi和560dpi

时间:2015-04-09 21:00:24

标签: android android-studio gradle

如何使用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包含正确的兼容屏幕标签,我需要屏幕密度。

0 个答案:

没有答案