Bug收集

作者: woochen123 | 来源:发表于2017-09-08 11:56 被阅读0次

    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收集

          本文链接:https://www.haomeiwen.com/subject/dlugjxtx.html