Bug收集

1.资源文件错误

Error:Execution failed for task ':generalAPPN:mergeDebugResources'.  
> Crunching Cruncher failed, see logs  

原因:png图片或者.9图片不能通过检查
解决方案:
1.忽略cruncher检查(如果是图片格式导致)

aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false

2.调整图片的大小(如果是图片过大导致)

2.gradle版本和gradle插件版本

gradle版本:

 classpath 'com.android.tools.build:gradle:2.2.2'

gradle插件版本:

 distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
  • 2.2.x 最多支持2.14.1版本gradle插件
  • 2.3.x 最少需要3.3的版本gradle插件
    各版本下载链接
    直接下载gradle插件后可以直接放在(3.3插件为例子):C:\Users\用户名.gradle\wrapper\dists\gradle-3.3-all\xxxxxxxxxxxxxx文件下(这里注意不要解压缩)

3.重复依赖问题

同样的配置下的版本冲突,会自动使用最新版;而不同配置下的版本冲突,gradle同步时会直接报错。可使用exclude、force解决冲突。 比如你同时依赖了两个版本的v7包

implementation ('com.android.support:appcompat-v7:26.1.0'){
        force true
    }

除了可以用exclude、force解决外,也可以自己统一为所有依赖指定support包的版本,不需要为每个依赖单独排除了:

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '26.1.0'
            }
        }
    }
}

4.Can not perform this action after onSaveInstanceState ?

当fragment的状态信息发生改变,通过commit操作可以将信息传递给activity进行保存,但是只能在onSaveInstanceState之前进行。如果在之后进行操作,就会提示错误。

改用commitAllowingStateLoss()就能够解决这个问题

你可能感兴趣的:(Bug收集)