update studio productflavors flavors flavor defaultconfig android android-studio gradle armv7

productflavors - Problema de Android Studio 3.0 Flavor Dimension



gradle android studio 3.0 1 (5)

Después de intentar leer detenidamente, lo resolví yo mismo. La solución es agregar la siguiente línea en build.gradle.

saborDimensiones "versionCode"

android { compileSdkVersion 24 ..... flavorDimensions "versionCode" }

Actualizado a Studio Canary build. Mi proyecto anterior de Telegram Messenger está dando el siguiente error.

Error: todos los sabores ahora deben pertenecer a una dimensión de sabor con nombre. El sabor ''armv7'' no está asignado a una dimensión de sabor. Obtenga más información en https://d.android.com/r/tools/flavorDimensions-missing-error-message.html

¿Qué tengo que hacer? Ya he visto ese enlace pero no podía entender qué hacer. Tengo 3 variantes de compilación ahora, lanzamiento, depuración y foss.


He usado flavourDimensions para mi aplicación en build.gradle (Módulo: aplicación)

flavorDimensions "tier" productFlavors { production { flavorDimensions "tier" //manifestPlaceholders = [appName: APP_NAME] //signingConfig signingConfigs.config } staging { flavorDimensions "tier" //manifestPlaceholders = [appName: APP_NAME_STAGING] //applicationIdSuffix ".staging" //versionNameSuffix "-staging" //signingConfig signingConfigs.config } }

Mira este enlace para más información

// Specifies two flavor dimensions. flavorDimensions "tier", "minApi" productFlavors { free { // Assigns this product flavor to the "tier" flavor dimension. Specifying // this property is optional if you are using only one dimension. dimension "tier" ... } paid { dimension "tier" ... } minApi23 { dimension "minApi" ... } minApi18 { dimension "minApi" ... } }


Si no desea usar dimensiones, debe usar esta línea

android { compileSdkVersion 24 ... flavorDimensions "default" ... }

pero si desea usar dimensiones, primero debe declarar su nombre de dimensión y luego usar este nombre después de que ESTE ejemplo sea de las documentaciones:

android { ... buildTypes { debug {...} release {...} } // Specifies the flavor dimensions you want to use. The order in which you // list each dimension determines its priority, from highest to lowest, // when Gradle merges variant sources and configurations. You must assign // each product flavor you configure to one of the flavor dimensions. flavorDimensions "api", "mode" productFlavors { demo { // Assigns this product flavor to the "mode" flavor dimension. dimension "mode" ... } full { dimension "mode" ... } // Configurations in the "api" product flavors override those in "mode" // flavors and the defaultConfig block. Gradle determines the priority // between flavor dimensions based on the order in which they appear next // to the flavorDimensions property above--the first dimension has a higher // priority than the second, and so on. minApi24 { dimension "api" minSdkVersion 24 // To ensure the target device receives the version of the app with // the highest compatible API level, assign version codes in increasing // value with API level. To learn more about assigning version codes to // support app updates and uploading to Google Play, read Multiple APK Support versionCode 30000 + android.defaultConfig.versionCode versionNameSuffix "-minApi24" ... } minApi23 { dimension "api" minSdkVersion 23 versionCode 20000 + android.defaultConfig.versionCode versionNameSuffix "-minApi23" ... } minApi21 { dimension "api" minSdkVersion 21 versionCode 10000 + android.defaultConfig.versionCode versionNameSuffix "-minApi21" ... } } } ...


Si realmente no necesita el mecanismo, solo especifique una dimensión de sabor aleatoria en su build.gradle :

android { ... flavorDimensions "default" ... }

Para obtener más información, consulte la guía de migración.


Aquí puede resolver este problema, debe agregar flavourDimension con el nombre de productFlavors y también debe definir la dimensión, consulte el siguiente ejemplo y para obtener más información, consulte https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html

flavorDimensions ''free'',''paid'' //here defined dimensions productFlavors { production { dimension ''paid'' //you just need to add this line ... // your existing code } demo { dimension ''free'' //added here also ... // your existing code } development { dimension ''free'' //add here too ... // your existing code }