android gradle android-studio android-gradle build.gradle

No se pudo encontrar la propiedad ''outputFile'' en com.android.build.gradle.internal.api.ApplicationVariantImpl



android-studio android-gradle (6)

Asegúrese de ejecutar la última versión gradle (no el plugin, gradle it self).

Verifica tus gradle-wrapper.properties . ¿Estás ejecutando gradle 2.1?

Más información sobre compatibilidad: http://tools.android.com/tech-docs/new-build-system/version-compatibility

Después de actualizar a AS 1.0 RC 1 y al plugin 0.14.4, tengo problemas con el cambio de nombre de mi build.gradle:

applicationVariants.all { variant -> def file = variant.outputFile variant.outputFile = new File(file.parent, file.name.replace(".apk", "-" + defaultConfig.versionName + ".apk")) }

arroja ahora:

Error:(78, 0) Could not find property ''outputFile'' on com.android.build.gradle.internal.api.ApplicationVariantImpl_Decorated@67e7625f.

y tampoco puedo saltar a la clase ApplicationVariantImpl para ver cómo se podría haber cambiado el nombre de la propiedad. Alguien sabe soluciones para esto?


Esto puede ocurrir por algunas razones:

1.) Primero como se dijo antes por @Khalidov , prueba

applicationVariants.all { variant -> variant.outputs.each { output -> output.outputFile = ... } }

2.) Segundo intento actualizar todos los demás complementos.

Por ejemplo, recibí este problema para Spoon , que se resolvió mediante la actualización de Spoon hasta:

classpath ''com.stanfy.spoon:spoon-gradle-plugin:0.14.1''


Más comprensivamente:

applicationVariants.all { variant -> variant.outputs.each { output -> output.outputFile = new File(output.outputFile.parent, output.outputFile.name.replace(".apk", "-" + defaultConfig.versionName + ".apk")) } }


Me las arreglé para resolver de la siguiente manera:

antiguo:

buildTypes { libertação { runProguard false // esta linha tem que ser mudado proguardFiles getDefaultProguardFile ( ''android.txt proguard-'' ), ''proguard-rules.pro'' }

}

nuevo:

buildTypes { libertação { minifyEnabled false // nova versão proguardFiles getDefaultProguardFile ( ''android.txt proguard-'' ), ''proguard-rules.pro'' }

}

editado en el archivo buil.gradle de su proyecto como se describe en esta publicación por ruan65 Error: (26, 0) No se encontró el método Gradle DSL: ''runProguard ()''

y después de editar también esta línea:

applicationVariants . all { variant -> variant . outputs . each { output -> def file = output . outputFile output . outputFile = new File ( file . parent , file . name . replace ( ".apk" , "-" + defaultConfig . versionName + ".apk" )) }

}

como se dijo allí arriba. ¡Eso me tranquilizó!


O donde solo hay una variante:

def apk = outputs[0].outputFile

En lugar de

def apk = variant.outputFile


prueba esto

applicationVariants.all { variant -> variant.outputs.each { output -> def file = output.outputFile output.outputFile = new File(file.parent, file.name.replace(".apk", "-" + defaultConfig.versionName + ".apk")) } }