即使现在的生活不是自己想要的,
我也一直告诉自己:
要努力把现在的生活过好,
加倍地努力生活,热爱生活,
未来才会一步一步向我走来,
才能好好看一看这我热爱的世界。
你背单词时,阿拉斯加的鳕鱼正跃出水面;
你算数学时,太平洋彼岸的海鸥振翅掠过城市上空;
你晚自习时,极圈上的夜空散漫了五彩斑斓;
但是少年你别着急,
在你为自己未来踏踏实实地努力时,
那些你感觉从来不会看到的景色,
那些你觉得终身不会遇到的人,
正一步步向你走来。
我想象不到在这个星球发生的很多美好的景象,
所以我才努力,
因为世界那么大,我想去看看。
前言
将一些常见的错误整理下……
问题集合
META-INF
More than one file was found with OS independent path
'META-INF/androidx.legacy_legacy-support-core-utils.version'
解决方案:
android {
// 处理所有报META-INF/*'的错误
packagingOptions {
pickFirst 'META-INF/*'
}
}
依赖冲突的解决方法
可以看看谷歌家出的官方的解决方案:点击跳转
Error: Program type already present: android.support.v4.app.INotificationSideChannel
在Android Studio中双击shift
键,在搜索框中搜索上面错误出现的INotificationSideChannel
。
点击选中androidx.core:core
的那个INotificationSideChannel
,之后在Android Studio的左边的Project
面板点击上方按钮:
之后就可以定位到包名。
之后我们需要在build.gradle
中配置,排除掉它:
// 去除依赖冲突的模块
configurations {
all*.exclude group: 'androidx.core', module: 'core'
all*.exclude group: 'androidx.versionedparcelable', module: 'versionedparcelable'
}
语法说明:
group
对应的是上图中androidx.core:core:1.0.0@aar
的冒号前面部分的androidx.core
,即组织名称。
module
对应的是上图中androidx.core:core:1.0.0@aar
的冒号后面部分的core
,即构建名称。
调试方法
显示当前依赖树
在Terminal中,进入到项目的根目录中,执行该语句:
gradle -q app:dependencies
常用Gradle命令
命令 | 说明 |
---|---|
gradle -x | 跳过指定task |
gradle -b gradle -p | 指定build脚本文件 |
gradle -q projects/tasks/properties | 输出查看信息 |
gradle -m/–dry–run | 查看指定task执行 |
gradle –profile | 查看指定task执行时间,输出html |