Bird
Raised Fist0
React Nativemobile~10 mins

Play Store submission in React Native - Interactive Code Practice

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

Complete the code to define the app version in app.json for Play Store submission.

React Native
{
  "expo": {
    "version": "[1]"
  }
}
Drag options to blanks, or click blank then click option'
Abuild
Blatest
Cversion
D1.0.0
Attempts:
3 left
💡 Hint
Common Mistakes
Using non-string values for version.
Using 'latest' instead of a version number.
2fill in blank
medium

Complete the code to set the Android package name in app.json for Play Store submission.

React Native
{
  "expo": {
    "android": {
      "package": "[1]"
    }
  }
}
Drag options to blanks, or click blank then click option'
Acom.example.app
Bexample.com.app
Ccom_app_example
Dapp.example.com
Attempts:
3 left
💡 Hint
Common Mistakes
Using dots in wrong order.
Using underscores instead of dots.
3fill in blank
hard

Fix the error in the build.gradle snippet to set the version code for Play Store submission.

React Native
android {
  defaultConfig {
    versionCode [1]
  }
}
Drag options to blanks, or click blank then click option'
A1
B1.0
C"1"
DversionCode
Attempts:
3 left
💡 Hint
Common Mistakes
Putting quotes around the versionCode number.
Using a decimal number instead of integer.
4fill in blank
hard

Fill both blanks to complete the command to build a release APK for Play Store submission.

React Native
cd android && ./gradlew [1] [2]
Drag options to blanks, or click blank then click option'
AassembleRelease
Bclean
Cbuild
DinstallDebug
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'installDebug' instead of 'assembleRelease'.
Not cleaning before building.
5fill in blank
hard

Fill all three blanks to complete the command to upload the app bundle to Play Store using Google Play CLI.

React Native
gplay upload --[1] [2] --[3] app-release.aab
Drag options to blanks, or click blank then click option'
Atrack
Brelease
Cservice-account
Dpackage
Attempts:
3 left
💡 Hint
Common Mistakes
Using '--package' instead of '--track'.
Omitting the service account flag.

Practice

(1/5)
1. What is the first step to submit a React Native app to the Google Play Store?
easy
A. Test the app only on iOS devices
B. Upload the debug APK to Google Play Console
C. Build a signed release version of your app
D. Publish the app without signing

Solution

  1. Step 1: Understand Play Store submission requirements

    The Play Store requires a signed release version for app submission, not a debug build.
  2. Step 2: Identify the correct first step

    Building a signed release APK or AAB is the first essential step before uploading.
  3. Final Answer:

    Build a signed release version of your app -> Option C
  4. Quick Check:

    Signed release build = first step [OK]
Hint: Always create a signed release build before upload [OK]
Common Mistakes:
  • Uploading debug APK instead of release
  • Skipping app signing
  • Trying to publish without building
2. Which command correctly generates a signed Android app bundle for Play Store in React Native?
easy
A. npx react-native run-android --variant=release
B. cd android && ./gradlew bundleRelease
C. npm start --release
D. react-native build --signed

Solution

  1. Step 1: Recall React Native Android build commands

    The correct command to build a signed app bundle is running Gradle wrapper with bundleRelease task inside android folder.
  2. Step 2: Match commands to their purpose

    cd android && ./gradlew bundleRelease runs the Gradle task to create the release bundle; others are incorrect or incomplete.
  3. Final Answer:

    cd android && ./gradlew bundleRelease -> Option B
  4. Quick Check:

    Gradle bundleRelease builds signed app bundle [OK]
Hint: Use Gradle commands inside android folder for release builds [OK]
Common Mistakes:
  • Using run-android which builds debug by default
  • Trying npm start for release builds
  • Using non-existent react-native build command
3. Given this snippet in android/app/build.gradle:
signingConfigs {
    release {
        storeFile file("my-release-key.keystore")
        storePassword "password"
        keyAlias "my-key-alias"
        keyPassword "password"
    }
}

buildTypes {
    release {
        signingConfig signingConfigs.release
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
What will happen if you run ./gradlew assembleRelease?
medium
A. A signed release APK will be generated using the specified keystore
B. The build will fail due to missing signingConfig
C. A debug APK will be generated instead
D. The app bundle will be generated, not APK

Solution

  1. Step 1: Analyze signingConfigs and buildTypes

    The release build type uses the signingConfig named release, which is properly defined with keystore info.
  2. Step 2: Understand assembleRelease behavior

    Running assembleRelease builds a signed APK using the release signingConfig, so a signed APK is generated.
  3. Final Answer:

    A signed release APK will be generated using the specified keystore -> Option A
  4. Quick Check:

    assembleRelease + signingConfig = signed APK [OK]
Hint: assembleRelease uses signingConfig to create signed APK [OK]
Common Mistakes:
  • Confusing assembleRelease with debug build
  • Assuming app bundle is generated by assembleRelease
  • Missing signingConfig causes build failure
4. You tried uploading your React Native app bundle to Google Play Console but got an error: "App signing key not found." What is the most likely cause?
medium
A. You forgot to generate and configure the signing key before building
B. You uploaded a debug build instead of release
C. You used the wrong package name in AndroidManifest.xml
D. You did not enable internet permission in the app

Solution

  1. Step 1: Understand the error message

    "App signing key not found" means the Play Console expects a signing key but it was missing or not configured.
  2. Step 2: Identify common causes

    Most often, this happens if you did not generate or configure the signing key before building the release bundle.
  3. Final Answer:

    You forgot to generate and configure the signing key before building -> Option A
  4. Quick Check:

    Missing signing key causes upload error [OK]
Hint: Always generate and configure signing key before building release [OK]
Common Mistakes:
  • Uploading debug build instead of release
  • Ignoring package name mismatches
  • Confusing permissions with signing errors
5. You want to submit your React Native app to the Play Store with these conditions: - Use Android App Bundle (.aab) - Enable ProGuard for code shrinking - Use a custom signing key Which steps must you perform in correct order?
hard
A. Enable ProGuard, upload unsigned bundle, then configure signingConfigs
B. Run ./gradlew assembleDebug, upload debug APK, then enable ProGuard
C. Upload unsigned APK, then configure signingConfigs and ProGuard later
D. Configure signingConfigs with your key, enable ProGuard in buildTypes, run ./gradlew bundleRelease, then upload the .aab

Solution

  1. Step 1: Configure signingConfigs and ProGuard

    You must first set your custom signing key in signingConfigs and enable ProGuard in the release buildType.
  2. Step 2: Build the Android App Bundle

    Run ./gradlew bundleRelease to create the signed, optimized .aab file.
  3. Step 3: Upload the .aab to Google Play Console

    Finally, upload the generated .aab file to submit your app.
  4. Final Answer:

    Configure signingConfigs with your key, enable ProGuard in buildTypes, run ./gradlew bundleRelease, then upload the .aab -> Option D
  5. Quick Check:

    Sign key + ProGuard + bundleRelease + upload = correct flow [OK]
Hint: Set signing and ProGuard before building bundle for Play Store [OK]
Common Mistakes:
  • Uploading debug or unsigned builds
  • Building APK instead of app bundle
  • Configuring signing after upload
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