写在前面:

如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持!


作为初学者,好不容易配置好gradle,刚想建立一个apk测试一下,结果发现之前调试时的proxy代理哪怕在设置中关闭也没法禁用,又匆忙设置了一下代理,再打包终于不报错了。

当我以为一切就绪时,结果新建了一个用于测试的项目,打包又报错Execution failed for task ':app:checkDebugAarMetadata',上网搜索都搜索不出什么结果来。

好在第一次打包的成功代码还在,于是经过我对代码的仔细甄别,发现app也就是模块下的build.gradle.kts代码不一样(顺便说一句,kotlin学习资源对比java真的少,都在说kotlin成为安卓主流开发语言,结果报错一搜解决方法都是java的)。

截止此时,最新的dependencies应该就是报错时的代码:

dependencies {

    implementation("androidx.core:core-ktx:1.9.0")
    implementation("androidx.appcompat:appcompat:1.6.1")
    implementation("com.google.android.material:material:1.10.0")
    implementation("androidx.constraintlayout:constraintlayout:2.1.4")
    implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.6.2")
    implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2")
    implementation("androidx.navigation:navigation-fragment-ktx:2.7.5")
    implementation("androidx.navigation:navigation-ui-ktx:2.7.5")
    testImplementation("junit:junit:4.13.2")
    androidTestImplementation("androidx.test.ext:junit:1.1.5")
    androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
}

但使用起来就会报错,鄙人技术力低,解决方法就是将版本调低增强兼容性:

dependencies {

    implementation("androidx.core:core-ktx:1.9.0")
    implementation("androidx.appcompat:appcompat:1.6.1")
    implementation("com.google.android.material:material:1.8.0")
    implementation("androidx.constraintlayout:constraintlayout:2.1.4")
    implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.6.1")
    implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1")
    implementation("androidx.navigation:navigation-fragment-ktx:2.5.3")
    implementation("androidx.navigation:navigation-ui-ktx:2.5.3")
    testImplementation("junit:junit:4.13.2")
    androidTestImplementation("androidx.test.ext:junit:1.1.5")
    androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
}

对比可以看到,以下原代码的这些版本:

    implementation("com.google.android.material:material:1.10.0")
    implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.6.2")
    implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2")
    implementation("androidx.navigation:navigation-fragment-ktx:2.7.5")
    implementation("androidx.navigation:navigation-ui-ktx:2.7.5")

都在更改后的代码里调低了版本号,再次运行发现打包成功。

另外要说一句的是通过这种调低版本号的解决方案我不清楚在往后的开发中是否还会存在隐患,但受限于本人作为初学者的技术力,实在是有心无力,如果有大佬能给出更好的解决方案,欢迎留言。


我是EC,一个永远在学习中的探索者,关注我,让我们一起进步!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐