Cambio apk nombre de archivo en gradle falló con gradle: 3.0.0-alpha4
Estoy tratando de usar las herramientas de compilación android "com.android.tools.build:gradle:3.0.0-alpha4" en mi proyecto. En mi script de construcción renombro el apk de salida que funcionó bien en el pasado, pero no parece ser soportado más.
android { productFlavors { flavorUnsigned { applicationVariants.all { variant -> variant.outputs.all { output -> output.outputFile = new File( output.outputFile.parent, output.outputFile.name.replace("app-flavorUnsigned-release-unsigned.apk", "DemoApp-${variant.versionName}($variant.versionCode).apk")) def mappingFile = "${rootDir}/app/build/outputs/mapping/${getCurrentFlavor()}/release/mapping.txt" if (variant.getBuildType().isMinifyEnabled()) { variant.assemble.doLast { copy { from "${mappingFile}" into "${rootDir}/app/build/outputs/apk" } } } } } } } }
Pero ahora estoy recibiendo este error mientras que la construcción de mi proyecto
- Actualización de dependencias de Gradle
- Cómo configurar mi gradle para la versión final de apk
- En Android Studio 2.1.3 ¿No funciona el gradle experimental?
- Jacoco convierte cobertura.ec a informes sin cobertura.em
- Android Studio Gradle Build tarda más de 5 minutos
Error:Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN, fullName=flavorUnsignedDebug, filters=[]}} of type com.android.build.gradle.internal.api.ApkVariantOutputImpl.
- Android gradle errores de comandos androidDependencies
- De error al generar la aplicación de tarea apk firmada: packageRelease
- Gradle busca un archivo en la carpeta del proyecto incorrecto
- Error al resolver: okhttp loggin-interceptor
- Personalizar AndroidManifest en diferentes tipos de compilación
- Diferentes bibliotecas / importaciones dependiendo del tipo de construcción
- Dagger 2 generó el componente de prueba no reconocido
- No hay servicio de tipo factory disponible en ProjectScopeServices gradle sync issue
Si desea migrar su proyecto al complemento de Android 3.0.0-alpha1
o superior, debería realizar lo siguiente: Cambio de API en la salida de variante:
// If you use each() to iterate through the variant objects, // you need to start using all(). That's because each() iterates // through only the objects that already exist during configuration time— // but those object don't exist at configuration time with the new model. // However, all() adapts to the new model by picking up object as they are // added during execution. android.applicationVariants.all { variant -> variant.outputs.all { outputFileName = "${variant.name}-${variant.versionName}.apk" } }
Lea esta página para aprender cómo aplicar el complemento y adaptar su proyecto a algunos cambios de ruptura.
- ¿Por qué no puedo establecer la elevación en una vista que agrego mediante programación?
- Componentes de arquitectura de Android: Uso de Enums