Scaffold Android is a scaffold that serve as a skeleton to other scalable Android apps.
- Kotlin
- Android Compose
- Coroutines
- Chucker
- LeakCanary
- Hilt
- Navigation Compose
- Retrofit
- Gradle Version Catalogs
It was used an approach of MVVM (Model-View-ViewModel) targeting Android Compose for the architecture.
- Clone the repository (https://github.com/orogersilva/scaffold-android.git).
- Delete
.git
folder. - Edit
README.md
. - Type
git init
in the project root folder. - Rename packages (in the whole project).
- Rename all namespace names in the
build.gradle
files. - Rename the
applicationId
in thebuild.gradle
file in theapp
module. - Rename the app theme name in the
:platform:core:ui
module. - Rename
BASE_API_URL
in thebuild.gradle
file in the:platform:core:networking
module. - Rename
:feature:new-feature-api
and:feature:new-feature
modules. - Rename
ScaffoldAndroidApplication
class in the:app
module. - Rename
ScaffoldAndroidTestRunner
class in the:platform:testing
module. - Rename
ScaffoldAndroidApiClient
interface in the:platform:core:networking
module. - Rename
ScaffoldAndroidApiClientModule
object in the:platform:core:networking
module. - Rename
provideScaffoldAndroidApiClient
function in the:platform:core:networking
module. - Rename style
Theme.ScaffoldAndroid
in theapp
module. - Rename string (in XML)
app_name
value in theapp
module. - Rename
name
attribute in theci.yml
file in the.github/
path. - Rename
rootproject.name
insettings.gradle
file in the project root. - Run
gradlew.bat (or ./gradlew) clean assembleDebug
in the terminal. - Run
formatKotlin detekt lintDebug
in the terminal. - Close Android Studio IDE.
- Rename project folder name.
- Reopen Android Studio IDE.
Roger Silva (follow me on Twitter)
Copyright 2022 Roger Silva.
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.