首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >警告: API 'variant.getPackageLibrary()‘已过时,已被替换为'variant.getPackageLibraryProvider()’。

警告: API 'variant.getPackageLibrary()‘已过时,已被替换为'variant.getPackageLibraryProvider()’。
EN

Stack Overflow用户
提问于 2019-04-12 07:24:58
回答 10查看 28.4K关注 0票数 54

我刚刚将kotlin提高到1.3.30,现在我在同步gradle时得到了这个错误:

警告: API 'variant.getPackageLibrary()‘已经过时,并已被替换为'variant.getPackageLibraryProvider()’。它将于2019年年底拆除。有关更多信息,请参见https://d.android.com/r/tools/task-configuration-avoidance。要确定调用variant.getPackageLibrary()的内容,请在命令行上使用-Pandroid.debug.obsoleteApi=true显示堆栈跟踪。受影响模块: hydatabase

这是我的build.gradle

代码语言:javascript
复制
apply plugin: 'com.squareup.sqldelight'
apply plugin: 'kotlin-multiplatform'
apply plugin: 'com.android.library'

android {
    compileSdkVersion 28
    defaultConfig {
        minSdkVersion 19
    }
    lintOptions {
        abortOnError false
    }
}

sqldelight {
    Database {
        packageName = "com.company.hydatabase"
    }
}

kotlin {
    targets {
        fromPreset(presets.jvm, 'jvm')
        fromPreset(presets.android, 'android')
    }

    sourceSets {
        commonMain.dependencies {
            api 'org.jetbrains.kotlin:kotlin-stdlib-common'
        }
        jvmMain.dependencies {
            api 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
            // ICU4J: Use DecimalFormat
            // Get rid of this when minSDKLevel = API 24 - Nougat (7.0)
            // https://developer.android.com/guide/topics/resources/internationalization.html
            api 'com.ibm.icu:icu4j:60.2'
        }
        androidMain.dependencies {
            implementation 'org.jetbrains.kotlin:kotlin-stdlib'
            api "com.squareup.sqldelight:android-driver:1.1.1"
        }
        androidMain.dependsOn jvmMain
    }
}

task copyDatabase(type: Copy) {
    from "${rootProject.file('hyappcommon/Databases/').path}"
    into "${rootProject.file('hydatabase/src/main/assets/databases/').path}"
    include '**/*.sqlite'
}

preBuild.dependsOn(copyDatabase)

// workaround for https://youtrack.jetbrains.com/issue/KT-27170
configurations {
    compileClasspath
}
EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2019-04-12 13:57:13

如果您调试,它将显示REASON: The Kotlin plugin is currently calling this API. We are working to solve this.

若要查看此错误,请运行./gradlew -Pandroid.debug.obsoleteApi=true --stacktrace

票数 56
EN

Stack Overflow用户

发布于 2019-05-09 09:10:25

正如tommyboy所说,Kotlin插件正在调用这个不受欢迎的API。如果您不希望在Kotlin进行此操作时得到此警告,则只需使用以前版本的Kotlin插件如下:

代码语言:javascript
复制
dependencies {
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.21"
}
票数 11
EN

Stack Overflow用户

发布于 2019-04-12 09:04:48

可能是个虫子,很快就修好了

您可以恢复到以前的版本,或者将这一行添加到gradle.properties中。

代码语言:javascript
复制
android.debug.obsoleteApi=true
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55646506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档