APP

[Android Studio] local.properties 활용 방법

TaeHuiLee 2024. 3. 15. 00:18
반응형

📝 Android 앱에 local.properties 사용하기

안녕하세요! 오늘은 Android 앱 개발 시 local.properties를 활용하는 팁을 공유하려고 합니다. 개발하면서 민감한 설정 값들은 공개하고 싶지 않잖아요? 그래서 local.properties 파일을 사용하는 건데요, 예를 들어 APP_AUTHORITY 같은 값을 여기에 넣어서 관리할 수 있습니다.


🛠 첫 번째 단계: local.properties에 값 추가하기

local.properties 파일은 프로젝트 루트에 보통 있고, 개인 설정이나 민감한 정보를 여기에 넣어둡니다. 이 파일은 .gitignore에 추가되어야 해서, 깃허브에는 올라가지 않죠.

예시로, local.propertiesAPP_AUTHORITY를 추가해보겠습니다.

APP_AUTHORITY=com.example.myapp.provider

📋 두 번째 단계: build.gradle에서 설정 읽어오기

이제 build.gradle 파일에서 이 값을 읽어와서 앱의 빌드 설정에 포함시킬 거예요. 아래 코드를 build.gradle에 추가해주세요.

android {
    defaultConfig {
        // local.properties 파일 로드
        def localPropertiesFile = rootProject.file('local.properties')
        if (localPropertiesFile.exists()) {
            Properties properties = new Properties()
            properties.load(new FileInputStream(localPropertiesFile))

            // APP_AUTHORITY 값 읽기
            String appAuthority = properties.getProperty('APP_AUTHORITY')

            // BuildConfig와 리소스 문자열로 추가
            buildConfigField 'String', 'APP_AUTHORITY', "\"$appAuthority\""
            resValue 'string', 'app_authority', appAuthority
        }
    }
}

📄 세 번째 단계: AndroidManifest.xml에서 사용하기

build.gradle에서 설정한 값을 AndroidManifest.xml에서 쓸 수 있게 되었어요. 이렇게 사용하는 거죠.

<provider
    android:name=".data.CustomContentProvider"
    android:authorities="@string/app_authority"
    android:exported="false">
</provider>

📄 네 번째 단계: 프로젝트 동기화

Android Studio의 File > Sync Project with Gradle Files를 선택하여 프로젝트를 동기화하세요


💻 마지막 단계: Java 코드에서 사용하기

마지막으로, Java 코드에서도 이 값을 사용할 수 있습니다. BuildConfig 클래스를 통해 접근할 수 있어요.

String appAuthority = BuildConfig.APP_AUTHORITY;

local.properties를 사용하면 개발 환경에 따라 다른 값을 적용할 수 있고, 민감한 정보를 안전하게 보호할 수 있습니다. 이 방법을 사용하면 코드를 좀 더 깔끔하게 유지할 수 있고, 보안도 강화할 수 있죠. 꼭 시도해보세요!

반응형