升级gradle踩过的坑记录

目录:
背景
升级过程
坑们
扯犊子

背景

项目比较老,无论架构还是一些的库都比较老旧,老有老旧的缺点,迟早要改,但我一个人说了不算,经验浅薄。贼难受。。。只能等机会。现在能做的就只有先提高编译速度,先从升级gradle再说(项目指定的gradle版本是2.+的)。

升级过程

改gradle-wrapper.properties中的这行

distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip

然后项目级别的gradle中:
classpath ‘com.android.tools.build:gradle:3.2.1’

坑们:

All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html

解决方案:
解决方案:在你的app.gradle中的defaultConfig节点下加入flavorDimensions "你的flavorname"这句就好了。

defaultConfig {
        minSdkVersion 9
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
        flavorDimensions "xxx","yyy"
    }

之前有人说这里是versionCode。versionCode是给程序识别用的,如果当前A手机上装有versionCode为5的app时,A下载了一个versionCode为4的新的安装包是不能安装的,会提示当前版本比较新之类的提示,不论你的versionName怎么样都不行. 参考:https://blog.csdn.net/qq_21731063/article/details/69371967
我觉得是flavorname。参考:https://blog.csdn.net/chen_xi_hao/article/details/80526049

productFlavors

defaultConfig {
        minSdkVersion 9
        targetSdkVersion 21
        versionCode VERSION_CODE
        versionName VERSION_NAME
        flavorDimensions VERSION_CODE
    }

The minSdk version should not be declared in the android manifest file. You can move the version from the manifest to the defaultConfig in the build.gradle file.

自己翻译一下这句话就明白了。然后
删掉AndroidManifest.xml中的minsdk。只用gradle中的min就可以。

The SourceSet ‘instrumentTest’ is not recognized by the Android Gradle Plugin. Perhaps you misspelled something?

自己删掉这句话就明白了,然后
用 androidTest 替换 instrumentTest,编译运行即可。
(英语水平,也是一个程序员的素质之一。最近想补习英语了(我英语口语贼几把好)。)

Error:Cannot choose between the following configurations of project :mylibrary:

这个查到一个资料,居然和我项目中一模一样,版本号都一样。她升级的比我早,我落后于人很严重。
//1.在project的build.gradle中删除 classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’
//2.在module的build.gradle中删除 apply plugin: ‘android-apt’
//3.将module的build.gradle文件中的dependency apt ‘com.jakewharton:butterknife-compiler:8.1.0’
//改为 annotationProcessor ‘com.jakewharton:butterknife-compiler:8.1.0’

cannot reslove ……

一般都是谷歌的锅。引用库的连接中,加上

repositories {
    google()
}

cannot find xxx at offline mode

我明明没开启offline模式,但是报这个。后来想起来command-line options中配置了offline。
在这里插入图片描述

扯犊子

好久没写博客了。觉得没有突破性的东西,也没有时间去研究突破性的东西。

剩下的东西都是觉得自己能查的到,也不算什么,写出来也只是丢脸罢了。很久没有时间去研究自己喜欢的东西了。。。有点没落,悲伤。

很像看看人工智能的世界。用两个框架集成一下看看什么样子。很像复习网络方面的知识,大学的时候80多分,现在全忘了。很像学学网络安全的东西。很像学学数据库服务器方面的东西。很像学学英语,日语。很像学好多东西。很像学iOS,已经在学iOS了。想学的东西太多了。感觉一天24个小时不够用。周末只有两天不够用。一周只有7天不够用。难受难受难受啊。

一个未精,就要学别的了。是不是大家都有这种想法。如果自己是一台电脑就好了,输入数据就会了。不用利用时间,那该多好。时间明显不够用啊。每天熬夜到2点,熬了一个星期,结果就支气管炎了。难受。所以现在在锻炼身体,身体练好了,就有能力抓住时间了。人体真是一个奇妙的东西。

唉,东一句西一句的。好难受。

靠苦力吃饭的人,真的不能处理生活中其他的东西,想要得到什么,就必须要舍弃另一种东西。所以该舍就舍了吧。

工作中最难的真的是沟通。这种东西是两个人的问题。不是你自己的事。有时候很简单,有时候太难了。

另外查问题的时候发现很有意思的现象:

国际同性交友网站,Stack Overflow上,一般一个问题的解决方案都是一个连接,点击链接之后是Stack Overflow上的另一个问题,这个问题的解决方案,是另一个连接。。。。。。如此反复,终于找到了最终的,你想要的答案。哈哈哈哈。

而国内,中国博客上的解决方案是这样的,a的博客中:“我是这样解决的aaa”。b的博客中:复制a的内容,“我是这样解决的aaa”。c的博客中:复制b的博客,“aaa”。d的博客:复制一半的c,加上一些废话(比如我)。“aaa 末尾扯犊子”。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值