如何解决无法设置只读属性“ outputFile”的值

时间:2018-11-28 04:32:33

标签: java android-studio build.gradle gradle-plugin

我的错误信息如下所示,任何可以告诉我错误部分在哪里以及如何解决的人

android {
compileSdkVersion 26
buildToolsVersion '26.0.0'
defaultConfig {
    applicationId 'com.zebra.rfidreaderAPI.demo'
    minSdkVersion 25
    targetSdkVersion 26
    versionCode 26
    versionName "1.0.5.15"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        applicationVariants.all { variant ->
            variant.outputs.each { output ->
                output.outputFile = new File(
                        output.outputFile.parent,
                        output.outputFile.name.replace("app-release.apk", "Zebra_RFID_Mobile_API-"+defaultConfig.versionName+".apk"))
            }
        }
    }
}
dexOptions {
    preDexLibraries false
}
sourceSets {

}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}
productFlavors {
}
}
  dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:26+'
    compile project(':RFIDAPI3Library')
}

我不知道如何解决此错误,错误看起来 enter image description here

1 个答案:

答案 0 :(得分:0)

  

output.outputFile =新文件(                          output.outputFile.parent,                          output.outputFile.name.replace(“ app-release.apk”,>“ Zebra_RFID_Mobile_API-” + defaultConfig.versionName +“。apk”))

这仅表示对象outPutFile的属性output无法修改。要纠正该错误,您可以删除该代码或正确使用它。

我认为您想要实现的目标是,可以看一下这篇文章:

" app-release.apk" how to change this default generated apk name

我认为这可能有用。