- The minSDK is the lowest SDK level that your app can run on. Remember that each release introduced new APIs and hardware support, so it may not make sense to make your app available to devices that don’t support your minimum feature set. Here are some examples of hardware support and features, tied to releases.
- Home screen widgets (Cupcake)
- Multiple finger tracking (Froyo)
- Tablet (Honeycomb)
- Android Beam(NFC) and BLE (Jellybean)
- Android TV, Auto, Wear (Lollipop)
- Pro Audio (Marshmallow)
- By comparison, the targetSDK is NOT a high pass filter -- it’s used only to declare which platform version you've tested your app on. An app targeted to a certain API or Android version will continue to be forward compatible on future releases -- the platform uses the target SDK values in case a future release makes a significant change to expected behavior, ensuring your app doesn’t break when a user’s phone gets upgraded.
./gradlew tasks
For example, to start your android app from the command line, you could type:
adb shell am start -n com.package.name/com.package.name.ActivityName
- Apps are Collections of collections of connected components.
- Four types of components that make up apps:
- An activity is a single, focused thing that the user can do.
- Responsible for creating the window that your application uses to draw and receive events from the system
- Android knows which components are in the application by The Android Manifest
- A ViewGroup is a special view that can contain other views (called children.) The view group is the base class for layouts and views containers.
- A few examples of common container views are:
- wrap_content will shrink the view to wrap whatever is displayed inside the view.
- match_parent will expand the size of the view to be as large as the parent view which it is nested inside of.
- It inflates the layout




