Android应用开发Android Studio 3.0 升级编译错误分析
白羽 2019-01-14 来源 :网络 阅读 1546 评论 0

摘要:本文将带你了解Android应用开发Android Studio 3.0 升级编译错误分析,希望本文对大家学Android有所帮助。

    本文将带你了解Android应用开发Android Studio 3.0 升级编译错误分析,希望本文对大家学Android有所帮助。


"
    Android Studio 3.0 升级编译错误分析,今天Google推送了Android Studio 3.0的升级。
    升级完了以后,AS要求将
    gradle tools升级到3.0.0
   
    classpath 'com.android.tools.build:gradle:3.0.0'
   
    gradle也升级到gradle-4.1-all.zip
   
    升级完了以后,编译就出现各种问题
   
    问题1
    Error:(130, 0) Cannot set the value of read-only property ‘outputFile’ for   ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN, fullName=debug,   filters=[]}} of type com.android.build.gradle.internal.api.ApkVariantOutputImpl
   
    原来用来重命名打包后的apk方法不能用了
    原来的方法
    variant.outputs[0].outputFile = new File(apkDir, filename)
    要改成下面的方法
    variant.outputs.all {output ->
    outputFileName = filename
    }
   
    问题2
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <code><code>    2.   Error:Cannot choose between the following configurations of project   :videoplayer:
          - debugApiElements
          - debugRuntimeElements
          - releaseApiElements
          - releaseRuntimeElements
        All of them match the consumer   attributes:
          - Configuration   'debugApiElements':
              - Found   com.android.build.api.attributes.BuildTypeAttr 'debug' but wasn't   required.
              - Found   com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't   required.
              - Found com.android.build.gradle.internal.dependency.VariantAttr   'debug' but wasn't required.
              - Found   org.gradle.api.attributes.Usage 'java-api' but wasn't required.
          - Configuration   'debugRuntimeElements':
              - Found   com.android.build.api.attributes.BuildTypeAttr 'debug' but wasn't   required.
              - Found com.android.build.gradle.internal.dependency.AndroidTypeAttr   'Aar' but wasn't required.
              - Found   com.android.build.gradle.internal.dependency.VariantAttr 'debug' but wasn't   required.
              - Found   org.gradle.api.attributes.Usage 'java-runtime' but wasn't required.
          - Configuration   'releaseApiElements':
              - Found   com.android.build.api.attributes.BuildTypeAttr 'release' but wasn't   required.
              - Found   com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't   required.
              - Found   com.android.build.gradle.internal.dependency.VariantAttr 'release' but wasn't   required.
              - Found   org.gradle.api.attributes.Usage 'java-api' but wasn't required.
          - Configuration   'releaseRuntimeElements':
              - Found   com.android.build.api.attributes.BuildTypeAttr 'release' but wasn't required.
              - Found   com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't   required.
              - Found   com.android.build.gradle.internal.dependency.VariantAttr 'release' but wasn't   required.
          - Found   org.gradle.api.attributes.Usage 'java-runtime' but wasn't   required.</code></code>
    以前Android Studio不会自动匹配Library中的BuildTypes
    3.0以后 现在就可以自动匹配了(只要app选择了debug,后面会自动选中debug,release也是一样)
   
   
    当然 需要注意的是 Library中需要添加buildTypes跟app的一样,
    比如App中有 release debug debugTest
    那么Library中也要有这3个
    直接空着也没关系
   
   
    问题3
    如果你用了类似butterknife
    需要做如下改动
    project的build.gradle文件中删除
   
    classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’
    module的build.gradle文件中删除
   
    apply plugin: ‘android-apt’
    module的build.gradle文件中替换
   
    ?
    1
    2
    3
    <code><code><code>//apt   'com.jakewharton:butterknife-compiler:8.4.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
    </code></code></code>
    问题4
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
      <code><code><code>D:\Dev\android\workspace\xxxx\xxxx\videoui\build\intermediates\bundles\debug\res\values\values.xml
    Error:(84, 5) error: style attribute '@android:attr/windowEnterAnimation'   not found.
    Error:(84, 5) error: style attribute '@android:attr/windowExitAnimation'   not found.
    D:\Dev\android\workspace\xxxxx\xxxx\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml
    Error:(2556) style attribute '@android:attr/windowEnterAnimation' not   found.
    Error:(2557) style attribute '@android:attr/windowExitAnimation' not   found.
    Error:failed linking references.
    Error:java.util.concurrent.ExecutionException:   java.util.concurrent.ExecutionException:   com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for   details
    Error:java.util.concurrent.ExecutionException:   com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for   details
    Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for   details
    Error:Execution failed for task ':app:processDebugResources'.
    > Failed to execute aapt
    Information:BUILD FAILED in 13s
    Information:9 errors
    Information:0 warnings
    Information:See complete output in   console</code></code></code>
    解决办法:
   
    在Project/gradle.properties中添加 android.enableAapt2=false
   
    "    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程