我刚刚更新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
}
正如tommyboy所说,静态编程语言插件正在调用此已弃用的API。如果您不想在静态编程语言处理此问题时收到此警告,您可以使用以前版本的静态编程语言插件,如下所示:
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.21"
}
我没有打电话给变体。getAssemble(),但仍显示这些消息。当我尝试运行该项目时,我收到了以下错误“Manifest Merge failed with multiple errors in Android Studio” 格拉德尔。构建文件在这里,我不使用变体。此处为GetAssembly()。如果系统正在调用它,那么我可以在哪里找到它来解决问题。我有多个模块。
我可以正确地编译应用程序,但这有点麻烦,而且正如我所看到的,有些东西将在2019年底停止工作。有什么想法是什么和如何解决它吗?
在我的项目的,但我仍然收到以下警告: 我试图在整个项目中查找“compile”,但没有找到匹配项。那么原因是什么呢?
我从堆栈跟踪中找不到谁在调用 Android Studio版本:3.4 Gradle版本5.1.1
使用Android Studio 3.3金丝雀11和gradle插件版本。它在尝试同步gradle时抛出以下错误 单击该错误会导致我找到gradle文件中的这一行 我到底需要改变什么? 项目 Appbuild.gradle 我在app/build中跳过了一些常量和其他敏感信息。格雷德尔档案。
问题内容: 当我编译时,javac输出: 我希望取消这个警告。尝试-Xlint:none似乎无济于事。 问题答案: 根据我在文档中所知道的,您无法在命令行上执行此操作。 根据文档,-Xlint:none仅禁用“ Java语言规范未强制执行”的警告。似乎警告您使用不推荐使用的API是由语言规范管理的。 最好的选择是修复不建议使用的API的使用。但是,一种选择是将注释添加到使用不推荐使用的API的类或