在构建 Gradle 时,我遇到了这个消息:
API 'BaseVariant.getApplicationIdTextResource' 已过时,已被 'VariantProperties.applicationId' 替换
我正在使用 Android Studio 4.1 Canary 10
和 gradle:4.1.0-alpha10
在构建 Gradle 时,我遇到了这个消息:
API 'BaseVariant.getApplicationIdTextResource' 已过时,已被 'VariantProperties.applicationId' 替换
我正在使用 Android Studio 4.1 Canary 10
和 gradle:4.1.0-alpha10
看起来 Navigation Safe Args 插件 使用了 getApplicationIdTextResource()
,因此很可能是由您使用该插件造成的错误信息。
您需要给 现有问题 打星,以要求 Safe Args 插件使用新替代 API。
根据这里的描述,将androidx.navigation:navigation-*:2.4.0-alpha02更改后,在Arctic Fox下构建我的应用程序时,可以避免出现getApplicationIdTestResource警告。
来自应用程序build.gradle文件:
def nav_version = "2.4.0-alpha02"
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"
在 build.gradle 文件中:
def nav_version = "2.4.0-alpha02"
implementation "androidx.navigation:navigation-fragment:$nav_version"
implementation "androidx.navigation:navigation-ui:$nav_version"
androidTestImplementation "androidx.navigation:navigation-testing:$nav_version"
最近几天我遇到了同样的问题。然后我打开了 build.gradle 文件。
检查依赖关系
我将谷歌服务的依赖更新为4.3.4。
dependencies {
classpath 'com.android.tools.build:gradle:4.1.1'
classpath 'com.google.gms:google-services:4.3.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
现在它正常工作。
google-services
。 - nyxee在我的安卓工作室Cannery 13中,我遇到了关于NavigationComponent
的错误。
因此,我将nav_version更改为以下版本,问题得以解决。
ext {
*************** nav_version = "2.4.0-alpha10" ************
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.0-alpha13'
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"
在应用程序模块的build.gradle中:
implementation "androidx.navigation:navigation-fragment:$nav_version"
implementation "androidx.navigation:navigation-ui:$nav_version"
androidTestImplementation "androidx.navigation:navigation-testing:$nav_version"
2.3.1
-> 2.4.2
- sud007当4.2.0稳定版发布时,问题将得到解决。
Android Gradle Plugin在4.1.0版本中弃用了BaseVariant类中的getApplicationIdTextResource() API(请参见错误)。替代API(onVariantProperties)对于功能库无法正常工作,因此为避免不良后果,使用了反射。这只是一个短期解决方案,当AGP 4.2.0稳定时,我们应该立即更新到该版本并立即删除反射。
因此,如果您需要Safe Args并且不需要Gradle的最新功能,请将Android Gradle Plugin版本中的Gradle版本保持在3.6.4。一旦稳定的4.2.0版本发布,再更新到最新版本。
我在将kotlin版本更新到1.7之后,NavigationComponent在Android Studio中出现了这个错误。
所以我将nav_version更改为"2.4.0-beta02",问题得到了解决。
// Navigation Component
implementation "androidx.navigation:navigation-fragment-ktx:2.4.0-beta02"
implementation "androidx.navigation:navigation-ui-ktx:2.4.0-beta02"
在我的情况下,我使用的是2.3.1版本的navigation-fragment。 我刚刚将其更新为2.4.2,并且它对我有所帮助。
dependencies {
classpath 'com.android.tools.build:gradle:(latest version)'
classpath 'com.google.gms:google-services:(latest version)'
}
所以,我所做的是升级了所有Gradle插件和依赖版本,然后运行,这对我有用。