Ich habe diesen Code verwendet
applicationVariants.all { variant ->
variant.outputs.each { output ->
def SEP = "_"
def flavor = variant.productFlavors[0].name
def buildType =
variant.variantData.variantConfiguration.buildType.name
def version = variant.versionName
def date = new Date()
def formattedDate = date.format('ddMMyy_HHmm')
def newApkName = PROJECT_NAME + SEP + flavor + SEP + buildType + SEP + version + SEP + formattedDate + ".apk"
def file = new File(newApkName)
output.outputFile = file
}
}
um den Namen der Apk-Datei zu ändern, wenn ich eine neue Apk erstelle, aber da ich Android Studio 3.0 Canary 2 verwende , erscheint dieser Fehler:
Der Wert der schreibgeschützten Eigenschaft 'outputFile' kann nicht festgelegt werden ....
android-studio
android-gradle-plugin
Mohamd Ali
quelle
quelle
Antworten:
Wie der Migrationsleitfaden für Android Plugin 3.0 vorschlägt:
all()
anstelle voneach()
outputFileName
anstelle von,output.outputFile
wenn Sie nur den Dateinamen ändern (das ist Ihr Fall).Beispiel aus der Anleitung:
quelle
Siehe unten:
quelle
Der folgende Code funktioniert für mich auf Android Studio Canary 3.0.0-Alpha3
Dies ändert den Namen der apk-Datei
quelle
Dies ist das vollständige Beispiel dieser Frage.
Nur Sie müssen Ihren Gradle 3.0+ nach productFlavours einfügen
quelle
Ich habe Gradle 3.0 gegründet, das funktioniert nicht mehr. Quelllink
dann habe ich den Befehl verwendet
gradlew
, um project.andcp
die Ausgabe apk auf meinen angegebenen Pfad zu kompilierenIn Execute Shell habe ich unten Befehl geputtet.
quelle
Ich hatte das gleiche Problem. Fehler "Der Wert der schreibgeschützten Eigenschaft 'outputFile' kann nicht festgelegt werden ...." "
Ich habe also die Version des Android Plugin Repository im Fenster Projektstruktur auf 2.3.3 geändert. Es funktioniert jetzt und der Fehler ist verschwunden.
Projektstruktur
Führen Sie später Clean and Rebuild für das Projekt durch und fertig
Hoffe das wäre hilfreich für dich.
quelle
Dies ist anderthalb Jahre her, seit die Frage gestellt wurde, aber vielleicht hilft dies jemandem (wie mir), der diesen Beitrag zuerst entdeckt. Ich glaube, die Antwort zum Ändern des Dateinamens und des Verzeichnisses wurde hier beantwortet .
quelle
Nach dem Update auf Android Studio 3.0.0 und der Verwendung des neuen Gradles wird die Ausgabe von Apks nun in Verzeichnissen nach Geschmacksnamen und Build-Typen verteilt.
quelle