Bird
Raised Fist0
Fluttermobile~10 mins

Android build configuration in Flutter - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to set the minimum SDK version in the Android build configuration.

Flutter
android {
  defaultConfig {
    minSdkVersion [1]
  }
}
Drag options to blanks, or click blank then click option'
A21
BcompileSdkVersion
CtargetSdkVersion
DversionCode
Attempts:
3 left
💡 Hint
Common Mistakes
Using compileSdkVersion instead of minSdkVersion.
Putting a string instead of a number.
2fill in blank
medium

Complete the code to set the application ID in the Android build configuration.

Flutter
android {
  defaultConfig {
    applicationId "[1]"
  }
}
Drag options to blanks, or click blank then click option'
Acom.example.myapp
BminSdkVersion
CversionCode
DtargetSdkVersion
Attempts:
3 left
💡 Hint
Common Mistakes
Using numbers or variables instead of a string.
Confusing applicationId with versionCode.
3fill in blank
hard

Fix the error in the code to correctly set the target SDK version.

Flutter
android {
  defaultConfig {
    targetSdkVersion [1]
  }
}
Drag options to blanks, or click blank then click option'
AminSdkVersion
B"30"
CcompileSdkVersion
D30
Attempts:
3 left
💡 Hint
Common Mistakes
Putting the SDK version number inside quotes.
Using compileSdkVersion instead of targetSdkVersion.
4fill in blank
hard

Fill both blanks to set the version code and version name in the Android build configuration.

Flutter
android {
  defaultConfig {
    versionCode [1]
    versionName "[2]"
  }
}
Drag options to blanks, or click blank then click option'
A5
B1.0.0
C21
D2.0
Attempts:
3 left
💡 Hint
Common Mistakes
Putting quotes around versionCode.
Using a number for versionName without quotes.
5fill in blank
hard

Fill all three blanks to configure the compile SDK version, build tools version, and enable multidex.

Flutter
android {
  compileSdkVersion [1]
  buildToolsVersion "[2]"
  defaultConfig {
    multiDexEnabled [3]
  }
}
Drag options to blanks, or click blank then click option'
A33
B33.0.0
Ctrue
Dfalse
Attempts:
3 left
💡 Hint
Common Mistakes
Putting quotes around compileSdkVersion or multiDexEnabled.
Using false instead of true for enabling multidex.

Practice

(1/5)
1. What file do you edit to change the Android app ID in a Flutter project?
easy
A. android/gradle.properties
B. lib/main.dart
C. android/app/build.gradle
D. pubspec.yaml

Solution

  1. Step 1: Identify where Android app settings are configured

    The Android app ID is set in the Gradle build configuration files.
  2. Step 2: Locate the specific file for app-level settings

    The file android/app/build.gradle contains the app ID under the defaultConfig section.
  3. Final Answer:

    android/app/build.gradle -> Option C
  4. Quick Check:

    App ID set in build.gradle [OK]
Hint: App ID is in app-level build.gradle file [OK]
Common Mistakes:
  • Editing pubspec.yaml instead of build.gradle
  • Changing main.dart which is for Dart code
  • Modifying gradle.properties which is for Gradle settings
2. Which syntax correctly sets the minimum SDK version in android/app/build.gradle?
easy
A. minSdkVersion -> 21
B. minSdkVersion = 21
C. minSdkVersion: 21
D. minSdkVersion 21

Solution

  1. Step 1: Understand Gradle syntax for SDK versions

    Gradle uses simple assignment without equals or arrows for SDK versions.
  2. Step 2: Identify correct syntax

    The correct syntax is minSdkVersion 21 without equals or colon.
  3. Final Answer:

    minSdkVersion 21 -> Option D
  4. Quick Check:

    Gradle uses space, not = or : [OK]
Hint: Use space, not equals, for SDK versions in Gradle [OK]
Common Mistakes:
  • Using equals sign (=) which causes syntax error
  • Using colon (:) which is invalid in Gradle
  • Using arrow (->) which is not Gradle syntax
3. Given this snippet in android/app/build.gradle:
defaultConfig {
    applicationId "com.example.app"
    minSdkVersion 19
    targetSdkVersion 33
    versionCode 5
    versionName "1.0.4"
}
What is the app version name that will appear to users?
medium
A. "1.0.4"
B. "1.0.5"
C. "5"
D. "33"

Solution

  1. Step 1: Identify versionName in the configuration

    The versionName is set to "1.0.4" which is the user-visible version.
  2. Step 2: Differentiate versionCode and versionName

    versionCode is an internal number (5), not shown to users.
  3. Final Answer:

    "1.0.4" -> Option A
  4. Quick Check:

    versionName is user-visible version [OK]
Hint: versionName shows app version to users [OK]
Common Mistakes:
  • Confusing versionCode with versionName
  • Using targetSdkVersion as version
  • Ignoring quotes around versionName
4. You added minSdkVersion 21 in android/app/build.gradle but get a build error. What is the likely cause?
medium
A. You forgot to update compileSdkVersion to at least 21
B. minSdkVersion must be less than 21
C. You need to add quotes around 21
D. minSdkVersion is set in pubspec.yaml, not build.gradle

Solution

  1. Step 1: Understand SDK version dependencies

    The compileSdkVersion must be equal or higher than minSdkVersion.
  2. Step 2: Check build.gradle for compileSdkVersion

    If compileSdkVersion is lower than 21, build fails when minSdkVersion is 21.
  3. Final Answer:

    You forgot to update compileSdkVersion to at least 21 -> Option A
  4. Quick Check:

    compileSdkVersion ≥ minSdkVersion [OK]
Hint: compileSdkVersion must be ≥ minSdkVersion [OK]
Common Mistakes:
  • Thinking minSdkVersion must be less than 21
  • Adding quotes around numeric SDK versions
  • Trying to set minSdkVersion in pubspec.yaml
5. You want to create a new build type called staging in android/app/build.gradle that behaves like debug but with a different app ID suffix. Which snippet correctly adds this?
hard
A. buildTypes { staging { extends debug applicationIdSuffix ".staging" } }
B. buildTypes { staging { initWith debug applicationIdSuffix ".staging" } }
C. buildTypes { staging { copyFrom debug applicationIdSuffix ".staging" } }
D. buildTypes { staging { inherit debug applicationIdSuffix ".staging" } }

Solution

  1. Step 1: Recall Gradle syntax for copying build types

    Gradle uses initWith to copy settings from another build type.
  2. Step 2: Verify correct method and syntax

    initWith debug correctly copies debug settings; applicationIdSuffix ".staging" adds suffix.
  3. Final Answer:

    buildTypes { staging { initWith debug applicationIdSuffix ".staging" } } -> Option B
  4. Quick Check:

    Use initWith to copy build type [OK]
Hint: Use initWith to clone build types in Gradle [OK]
Common Mistakes:
  • Using extends or inherit which are invalid Gradle keywords
  • Trying copyFrom which does not exist
  • Not adding applicationIdSuffix properly
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard