未找到Gradle DSL方法' getPackageLibrary()'

时间:2015-03-26 04:29:28

标签: android gradle

我将Android库项目导入Android Studio,收到此错误消息:Gradle DSL method not found 'getPackageLibrary()'。我想Gradle插件的版本不支持这种方法。我想找出这个方法的替代品,在build.gradle中使用如下:

variant.getPackageLibrary().dependsOn(copyToInsideProtectedApp)

我认为这类似于将run proGuard()替换为minifyEnabled我已经做过的事情。我使用Android Studio 1.0.2。

有人知道getPackageLibrary的替代品吗?在互联网上搜索没有帮助。

1 个答案:

答案 0 :(得分:0)

根据AOSP上的一些代码here,它说

  

variant.getPackageLibrary()已弃用。把它叫做其中一个   variant.getOutputs()代替。

代码如下。

// ---- Deprecated, will be removed in 1.0
//STOPSHIP
@Override
public Zip getPackageLibrary() {
    // if more than one output, refuse to use this method
    if (outputs.size() > 1) {
        throw new RuntimeException(String.format(
                "More than one output on variant '%s', cannot call getPackageLibrary() on it. Call it on one of its outputs instead.",
                getName()));
    }
    // deprecation warning.
    plugin.displayDeprecationWarning("variant.getPackageLibrary() is deprecated. Call it on one of variant.getOutputs() instead.");
    // use the single output for compatibility.
    return ((LibraryVariantOutput) outputs.get(0)).getPackageLibrary();
}