Bird
Raised Fist0
Android Kotlinmobile~5 mins

Project structure (app, gradle, manifests) in Android Kotlin - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of the app folder in an Android project?
The app folder contains all the source code, resources, and configuration files for the Android application module. It is where you write your Kotlin code, define layouts, and manage app-specific files.
Click to reveal answer
beginner
What is the role of build.gradle files in an Android project?
The build.gradle files define how the project is built. The project-level build.gradle manages global settings and dependencies, while the app-level build.gradle configures the app module, including dependencies, SDK versions, and build types.
Click to reveal answer
beginner
What is the AndroidManifest.xml file used for?
The AndroidManifest.xml file declares essential information about the app to the Android system, such as app components (activities, services), permissions, app name, icon, and minimum SDK version.
Click to reveal answer
beginner
Where do you define app permissions like internet access in an Android project?
App permissions are declared inside the AndroidManifest.xml file using <uses-permission> tags. For example, to use the internet, you add <uses-permission android:name="android.permission.INTERNET" />.
Click to reveal answer
intermediate
What is the difference between project-level and app-level build.gradle files?
The project-level build.gradle manages settings and dependencies that apply to the whole project, like repositories and plugin versions. The app-level build.gradle configures the app module specifically, including SDK versions, dependencies, and build types.
Click to reveal answer
Which folder contains the Kotlin source code in an Android project?
Aapp/src/main/java
Bgradle/wrapper
Capp/build
Dmanifests
Where do you specify the minimum SDK version your app supports?
Asettings.gradle
BAndroidManifest.xml
Cproject-level build.gradle
Dapp-level build.gradle
What is NOT a purpose of the AndroidManifest.xml file?
ADeclare app components like activities
BDefine app permissions
CWrite Kotlin code
DSet app icon and label
Which file manages global project dependencies and plugin versions?
Aproject-level build.gradle
Bapp-level build.gradle
CAndroidManifest.xml
Dsettings.gradle
Where do you add external libraries your app needs?
AAndroidManifest.xml
Bapp-level build.gradle dependencies block
Cproject-level build.gradle
Dgradle.properties
Explain the main roles of the app folder, build.gradle files, and AndroidManifest.xml in an Android project.
Think about where code lives, how the build is configured, and how the app tells Android about itself.
You got /4 concepts.
    Describe how you would add a new permission and an external library to your Android app project.
    Permissions go in the manifest; libraries go in the build.gradle.
    You got /2 concepts.

      Practice

      (1/5)
      1. What is the main purpose of the app folder in an Android project?
      easy
      A. It stores the build configuration files.
      B. It contains the app's source code and resources.
      C. It holds the Android system files.
      D. It contains the device emulator settings.

      Solution

      1. Step 1: Understand the app folder role

        The app folder is where you put your app's code and resources like images and layouts.
      2. Step 2: Differentiate from other folders

        Build files like build.gradle are outside or inside app but serve different purposes; system files are not in app.
      3. Final Answer:

        It contains the app's source code and resources. -> Option B
      4. Quick Check:

        App folder = source code and resources [OK]
      Hint: App folder = your app's code and resources [OK]
      Common Mistakes:
      • Confusing build files with app folder contents
      • Thinking system files are inside app folder
      • Mixing emulator settings with project structure
      2. Which file in an Android project declares the app's components and permissions?
      easy
      A. build.gradle
      B. proguard-rules.pro
      C. settings.gradle
      D. AndroidManifest.xml

      Solution

      1. Step 1: Identify the manifest file role

        The AndroidManifest.xml file describes app components like activities and permissions.
      2. Step 2: Compare with other files

        build.gradle handles build settings, settings.gradle manages modules, and proguard-rules.pro is for code shrinking rules.
      3. Final Answer:

        AndroidManifest.xml -> Option D
      4. Quick Check:

        Manifest = app components and permissions [OK]
      Hint: Manifest file = app components and permissions [OK]
      Common Mistakes:
      • Confusing build.gradle with manifest
      • Thinking settings.gradle declares permissions
      • Mixing ProGuard rules with app declarations
      3. Given this snippet from build.gradle inside the app folder, what will happen if you add a new dependency incorrectly?
      dependencies {
          implementation 'androidx.core:core-ktx:1.9.0'
          implementation 'com.google.android.material:material:1.7.0'
      }
      medium
      A. The app will build successfully with all dependencies.
      B. The app will run but crash at runtime due to missing classes.
      C. The build will fail due to a syntax error in dependencies.
      D. The build will ignore the incorrect dependency and continue.

      Solution

      1. Step 1: Understand dependency syntax

        Dependencies must be declared with correct syntax like implementation 'group:name:version'. Any syntax error causes build failure.
      2. Step 2: Consequence of incorrect dependency

        If a dependency line is malformed, Gradle will fail to build and show an error, not ignore it or allow runtime crashes.
      3. Final Answer:

        The build will fail due to a syntax error in dependencies. -> Option C
      4. Quick Check:

        Incorrect dependency syntax = build failure [OK]
      Hint: Syntax errors in build.gradle cause build failure [OK]
      Common Mistakes:
      • Assuming build ignores syntax errors
      • Thinking runtime crashes happen from build errors
      • Confusing dependency syntax with code syntax
      4. You added a new permission in AndroidManifest.xml but the app crashes on launch. What is a likely cause?
      medium
      A. The permission tag is outside the manifest root element.
      B. The build.gradle file is missing the permission.
      C. The app folder is empty.
      D. The emulator does not support permissions.

      Solution

      1. Step 1: Check manifest XML structure

        All permission tags must be inside the root <manifest> element. Placing them outside causes XML errors and app crashes.
      2. Step 2: Understand build.gradle and emulator roles

        Permissions are declared only in manifest, not build.gradle. Emulators support permissions normally.
      3. Final Answer:

        The permission tag is outside the <manifest> root element. -> Option A
      4. Quick Check:

        Permissions must be inside manifest root [OK]
      Hint: Permission tags must be inside <manifest> root [OK]
      Common Mistakes:
      • Adding permissions in build.gradle
      • Ignoring XML structure errors
      • Blaming emulator for permission issues
      5. You want to add a new module to your Android project. Which files/folders must you update or create to integrate it properly?
      hard
      A. Create a new folder for the module, add a build.gradle for it, and update settings.gradle to include it.
      B. Add the module folder inside app and update AndroidManifest.xml only.
      C. Create a new folder and add dependencies in app/build.gradle only.
      D. Add the module folder anywhere and no other changes are needed.

      Solution

      1. Step 1: Create module folder and build file

        Each module needs its own folder and build.gradle to define its build settings.
      2. Step 2: Update settings.gradle

        The settings.gradle file must include the new module so Gradle knows to build it.
      3. Final Answer:

        Create a new folder for the module, add a build.gradle for it, and update settings.gradle to include it. -> Option A
      4. Quick Check:

        New module = folder + build.gradle + settings.gradle update [OK]
      Hint: New module needs folder, build.gradle, and settings.gradle update [OK]
      Common Mistakes:
      • Only updating AndroidManifest.xml
      • Adding module inside app folder incorrectly
      • Forgetting to update settings.gradle
      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