build.gradle
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`
variant.outputs.all {output ->
outputFileName = filename
}
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.
以前Android Studio不會自動匹配Library中的BuildTypes,3.0以后可以自動匹配了(只要app選擇了debug屁药,后面會自動選中debug于颖,release也是一樣)
Library中需要添加buildTypes跟app的一樣,比如App中有 release debug debugTest消请,那么Library中也要有這3個(gè) 栏笆。
3。
如果你用了類似butterknife臊泰,需要做如下改動
project的build.gradle文件中刪除
classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’
module的build.gradle文件中刪除
apply plugin: ‘a(chǎn)ndroid-apt’
//apt 'com.jakewharton:butterknife-compiler:8.4.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
因?yàn)閍pt是個(gè)人開發(fā)者開發(fā)的蛉加,后來google官方出了對應(yīng)的是annotationProcessor以后直接使用這個(gè)
gradle也提示升級到3.0.0版本,編譯之前正常的項(xiàng)目后報(bào)錯(cuò)Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
缸逃,查看官方文檔后了解到
在gradle 3.0.0中AAPT2是默認(rèn)打開的针饥,在項(xiàng)目的gradle.properties中添加android.enableAapt2=false,sync后就編譯通過了需频。
備注:部分內(nèi)容參考其他博客主的丁眼。未列出。