一晃眼竟然快有一个月没有写了,有点怠惰了。其中有点小小的外部因素,因为兜哥今年是一个坎,需要盯着他看能不能过去,目前看来还不错,比预料的稍微好那么一点。
主力工作机 Dell Latitude 5401 的输入问题在经历各种折磨后终于解决。排查到最后,问题的焦点集中到了触控板上,而触控板和整个 C 面是一体化的(工艺其实是用胶粘合的,但是剥离以及更换后的复原操作难度应该有点大),所以在和 5400 互换确定问题后突然意识到,5400 是在保的。于是让官方售后来解决了这一棘手难题。
一个好久没有更新的产品 XPC,由于其中集成的一个 SDK 版本过时,应用商店要求必须更新,因此顺便把其它的所有依赖也更新到了最新版,连编译工具链也升了上来,中间解决了一堆的问题,目前还有一个由于引入 Kotlin 的某些组件而导致使用了不同版本的 JDK 的库产生了冲突(Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)),令我哭笑不得的是,Kotlin 也是由第三方组件间接引入的……
兜哥有个发小在天津,好几年没见了,本来计划过几天再去天津一块儿见面玩,顺便把另一个兄弟在津门购置的新房暖一下的,结果两位小朋友都面临马上就要补课的大事,所以只好提前杀过去让两小叙旧。天津这些年的发展似乎不是很好,走在好多地方感觉都象是二十年前的城镇,烟火气倒是挺足,可惜脏乱差的面貌给人的感觉还是不能算好的。
编译冲突的那个问题,赴津前查到一篇文档,https://www.concretepage.com/questions/746,看着不太靠谱,而且似乎是内容农场划拉回来的。回京后,上午再次搜索,则在 Stackoverflow 上找到了这一篇 https://stackoverflow.com/questions/75263047/duplicate-class-in-kotlin-android,通读下来,其中排名第三的 Eric Aya 的回答一看就对眼,直觉就是解决问题的法门。照方抓药,药到病除,喜不自禁。
就在心下以为万事俱备的当口,事情立刻就又发生了变化。确实,debug 编译是没有问题,但是一切换到 release 下就会发生若干问题,一部分是警告,说有些类的伴生对象字节码找不到,另一部分是报告某种数组越界的错误,但并不会有任何更清晰的信息(即使在命令行中使用 --warning-mode all -Pandroid.debug.obsoleteApi=true
这样的选项开关也无济于事)。但种种迹象表明,跟 AppLovin 的构建插件有关。IDE 一般会有依赖的组件版本过期的视觉提示,但是 com.applovin.quality:AppLovinQualityServiceGradlePlugin:3.9.11
这一行并无异常。手动到网上搜索到一个比较大的版本号,是 4.3.7
,改动之后问题没有好转。急切间还发现似乎 AppLovin 的官网是在铁幕的另一边,联想到检索到 4.3.7
这个版本的信息时,隐约看到时间据现在并不久远,开启尝试大法,用了个 4.10
,报告找不到,灵机一动改成 4.10.0
,竟然成功。是不是其实还存在更新的最小版本号变化了的版本,那就不得而知了。断然放弃自己给自己找罪受的征程,打包交付要紧。
另外,XSC 几天前竟然默默地迎来了第一位内购用户,也是个可喜可贺的事情。