一个加号(+)引发的血案

之前做的一个项目,由于阿里的旺信服务停了,最近想找个替代方案,于是找到了野火IM,看了下demo效果还不错,主要是ui部分可以复用。于是下载源代码看了一眼,比较奇怪的一点是昨天在windows已经把代码跑起来了,结果今天在mac上死活运行不聊了,提示下面的错误:

Execution failed for task ':chat:processDebugResources'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > Android resource linking failed
     C:\Users\obaby\.gradle\caches\transforms-2\files-2.1\87575f1e55fb95ae83d67cbd526a722c\core-1.7.0-alpha02\res\values\values.xml:105:5-114:25: AAPT: error: resource android:attr/lStar not found.

问题尴尬在看了下代码貌似也没什么问题,并且tm我都神马都还没改呢。这就神奇了,晚上回来之后在windows下运行,tm也挂了,wtf??

鉴于今天百度了一天没什么效果,于是尝试google之:

第一条就是这个错误,结果浪费时间tm瞎百度百度了一天。艹。

按照stackoverflow的方法只需要添加下面的代码即可:

#Go to android/build.gradle and add androidXCore = "1.6.0" to ext:

ext {
    buildToolsVersion = "29.0.2"
    minSdkVersion = 21
    compileSdkVersion = 29
    targetSdkVersion = 29
    googlePlayServicesAuthVersion = "16.0.1"
    androidXCore = "1.6.0"
}

我搜索了一下没有这个配置,不过想起来貌似是这个core报的错误,并且隐约还提示了implementation中使用+号导致的警告,凭记忆搜索了一下,还真有这么个东西:

代码如下:

dependencies {
    api project(':mars-core-release')
    def lifecycle_version = '2.0.0-beta01'
    implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
    implementation "androidx.core:core-ktx:+"
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.0.0-beta01"
//    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

如果要修复上面的错误,只需要将androidx.core:core-ktx:+ 修改为androidx.core:core-ktx:1.6.0 sync之后,重新编译即可:

dependencies {
    api project(':mars-core-release')
    def lifecycle_version = '2.0.0-beta01'
    implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
    implementation "androidx.core:core-ktx:1.6.0"
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.0.0-beta01"
//    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

现在tm就一切ok了,如果一个安卓项目,之前运行好好地,哪天突然坏掉了。那么检查一下引用的各种+ 加号吧,坑爹。

参考连接:

https://stackoverflow.com/questions/69021225/android-resource-linking-fails-on-lstar

☆版权☆

* 网站名称:obaby@mars
* 网址:https://obaby.org.cn/
* 个性:https://oba.by/
* 本文标题: 《一个加号(+)引发的血案》
* 本文链接:https://obaby.org.cn/2021/09/8953
* 短链接:https://oba.by/?p=8953
* 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。


You may also like

2 comments

  1. Level 1
    Safari 14 Safari 14 Mac OS X 10.15 Mac OS X 10.15 cn中国–北京–北京 北京光电新创通信技术有限公司

    多谢大佬提供的方案,也是今天下午遇到,折腾了一天。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注