gradle无法找到generatedDensities属性

时间:2015-10-20 14:39:09

标签: android android-studio gradle

我正在尝试为我拥有的某个apk生成mdpihdpi drawables,但是当我尝试构建应用时,我收到此错误:

* Where:
Script '/Users/myuserID/app/build.gradle' line: 40

* What went wrong:
A problem occurred evaluating script.
> No such property: generatedDensities for class: com.android.build.gradle.internal.dsl.ProductFlavor_Decorated

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

构建文件中的代码如下所示:

defaultConfig {
    applicationId “com.myproject.box"
    minSdkVersion 9
    targetSdkVersion 23
    versionCode 1
    versionName “6.0"
    **generatedDensities = ['mdpi', 'hdpi']**
}

并在顶级build.gradle文件中定义了以下内容:

dependencies {
    classpath 'com.android.tools.build:gradle:1.2.3'
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
}

generatedDensities假设告诉gradle只创建mdpihdpi drawable,为什么它不被识别?只要我像往常一样删除generatedDensities应用版本。

您可以参考here进一步了解该物业。

4 个答案:

答案 0 :(得分:4)

您收到该错误是因为generatedDensities已添加到ProductFlavor documentation所述的Gradle v1.4.0的Android插件中generatedDensities。如您所见,v1.3 documentation中未提供build.gradle

将您的dependencies { classpath 'com.android.tools.build:gradle:1.4.0-beta6' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4' } 更改为:

#include<iostream>
#include<bitset>

int main()
{
  std::bitset<128> testing;
  testing = std::bitset<128>(0x544F4E20776E69546F656E772020656F) ^
  std::bitset<128>(0x5473206768204B20616D754674796E75);
  std::cout<<testing;
}

答案 1 :(得分:0)

将您的类路径更新为1.5

classpath 'com.android.tools.build:gradle:1.5.0'

答案 2 :(得分:0)

似乎,因为gradle:2.0.0-alphaXX generatedDensities已被弃用。 请改用vectorDrawables.generatedDensities

defaultConfig {
   ...
    //generate drawables from vectors
    vectorDrawables.generatedDensities= ['mdpi','hdpi']
}

答案 3 :(得分:-1)

我有类似的事情:

vectorDrawables.generatedDensities = [ 'ldpi', 'mdpi', 'hdpi', 'xhdpi', 'xxhdpi', 'xxxhdpi']

但它没有超越apk。但是文件是在\generated\res\pngs\google\debug目录中生成的......而在apk中,目录的名称类似于&#34; drawable-mdpi-v4&#34; ...

现在。我手动将PNG复制到应用程序。至少我没有必要手动转换它们: - |