今天收到了Android Studio3.0更新推送,在升级过程中遇到几个问题,在这里把问题和解决方法记录下,方便要升级的童鞋。如果还有童鞋遇到不同的问题,也可以评论下我做下记录
1.gradle打包,自定义apk名称代码报错(Cannot set the value of read-only property ‘outputFile’ )
报错
Error:(56, 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. <a href=”openFile:D:eclipseCodeipay-androidxinlebaobuild.gradle” rel=”external nofollow” Open File</a
解决 :修改文件名代码请这样写
代码语言:javascript复制android.applicationVariants.all { variant -
variant.outputs.all {
outputFileName = "xinlebao_${defaultConfig.versionName}_${releaseTime()}.apk"
}
}
2. AAPT2 编译报错 AAPT2 error
报错
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
解决:在gradle.properties中关闭APPT2 编译
代码语言:javascript复制android.enableAapt2=false
注:如果是eclipse转到as上的项目,可能没有gradle.properties文件,请在项目根目录中手动创建
3.apt插件问题(Error:Cannot choose between the following configurations of project :mylibrary:)
报错:
Error:Cannot choose between the following configurations of project :mylibrary:
– debugApiElements – debugRuntimeElements – releaseApiElements – releaseRuntimeElements All of them match the consumer attributes:
解决
代码语言:javascript复制//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'
其他使用apt的依赖,也要这样更改
以上就是本文的全部内容,希望对大家的学习有所帮助。