This is the default Jetpack Compose template app that I use as a starting point. There are no themes.xml and colors.xml in the project. By default, Gradle KTS is used, and no testing libraries are included.
For different versions of this template app, refer to different branches of this repository
- Android Studio Giraffe or later
Tech Stack | High-level Implementation Description |
---|---|
Jetpack Compose | Implement reactive UI using composable functions |
Accompanist System UI Controller | Set system bars color |
New Splash Screen | Implement new splash screen based on API >= 31 that works on all previous API levels |
Material 3 Dynamic Color | Add dynamic color support for >= API 31 |
Version Catalog (master_vercatalog branch) | Implement version catalog as central declaration of dependencies |
Gradle KTS / Groovy (master_groovy branch) | Migrate build script from Groovy to Gradle KTS |
Material 3 / Material 2 (master_groovy branch) | Use the latest material design |
BuildUtils (own library) | Avoid hard coding build version code (API level) to improve code readability |
Spotless Plugin | Automate code formatting for Kotlin and copyright text |
- Clean Empty Jetpack Compose App Template - Rename the App Example. See diff.
- Beginner's Guide to Understand Build Gradle Files in Android Studio
- How to Convert Android Gradle Groovy to KTS?
- How to add Version Catalog to your Android App?
- Implement Default Splash Screen Prior to Android 12
- Convert Android App to Use Material 3 Design
- How to Add Spotless Code Formatter to your Android Project?
- master - Gradle KTS (no testing libraries)
- master_withtest - Gradle KTS (with testing libraries)
- master_vercatalog - Gradle KTS (version catalog, no testing libraries)
- master_groovy - Gradle Groovy (no testing libraries, material 2)
Copyright 2023 Vincent Tsen
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.