当前位置: 首页 > 知识库问答 >
问题:

警告:API的变体。getPackageLibrary()'已过时,并已替换为“variant”。getPackageLibraryProvider()'

祝叶五
2023-03-14

我刚刚更新kotlin到1.3.30,我现在同步gradle时得到这个错误:

警告:API的变体。getPackageLibrary()'已过时,并已替换为“variant”。getPackageLibraryProvider()'。将于2019年底拆除。有关更多信息,请参阅https://d.android.com/r/tools/task-configuration-avoidance.确定什么是调用变量。getPackageLibrary(),使用-Pandroid。调试。obsoleteApi=true,在命令行上显示堆栈跟踪。受影响的模块:hydatabase

这是我的构建。格雷德尔:

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
}

共有3个答案

景嘉实
2023-03-14

可能是个bug很快就修好了

您可以恢复到以前的版本,或将此行添加到gradle。属性

android.debug.obsoleteApi=true
松昱
2023-03-14

正如tommyboy所说,静态编程语言插件正在调用此已弃用的API。如果您不想在静态编程语言处理此问题时收到此警告,您可以使用以前版本的静态编程语言插件,如下所示:

dependencies {
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.21"
}
路思源
2023-03-14

如果您调试,它会显示原因:静态编程语言插件当前正在调用此API。我们正在努力解决这个问题。

要查看此错误,请运行/gradlew-Pandroid。调试。obsoleteApi=true——堆栈跟踪

 类似资料: