Android studio更新到3.0後問題解決

時光中的記憶發表於2017-11-06

問題1:
自定義打包問題提示

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.each { output ->
                    def outputFile = output.outputFile
                    if (outputFile != null && outputFile.name.endsWith('.apk')) {
                        if ("release".equals(variant.buildType.name)) {
                            fileName = "arbooks_${defaultConfig.versionName}_${releaseTime()}_release.apk"
                        } else {
                            fileName = "arbooks_${defaultConfig.versionName}_${releaseTime()}_beta.apk"
                        }
                        output.outputFile = new File(outputFile.parent, fileName)
                    }
                }

之後:

 variant.outputs.all {
                    if ("release".equals(variant.buildType.name)) {
                        fileName = "appstore_${defaultConfig.versionName}_${releaseTime()}_release.apk"
                    } else {
                        fileName = "appstore_${defaultConfig.versionName}_${releaseTime()}_beta.apk"
                    }
                    outputFileName = fileName
                }

問題2:

Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details

解決:
在在gradle.properties中關閉APPT2 編譯

android.enableAapt2=false 

問題3:

Error:All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com

解決:

 //版本名後面新增一句話,意思就是flavor dimension 它的維度就是該版本號,這樣維度就是都是統一的了
    flavorDimensions "versionCode"

這裡寫圖片描述
之前的時候修改的時後不會全部改,現在會保持一致是release就都是release,debug就都是debug
可以百度看下解釋,在此我只是記錄下解決辦法

相關文章