Flutter로 개발한 앱 플레이스토어(Play Store)에 배포하기 (3) - Proguard 사용하여 앱 난독화 및 압축하

Flutter로 개발한 앱 플레이스토어(Play Store)에 배포하기 시리즈


자 이번 포스팅에서는 Proguard를 사용하여

앱을 난독화 하고, 압축을 통해 크기를 줄이는 방법에 대해서 알아보도록 하겠습니다.

이러한 작업을 통해 우리는 APK의 크기를 줄이고 리버스 엔지니어링으로부터 코드를 보호할 수 있습니다.


Proguard 구성하기

 

먼저 [android] - [app] - [proguard-rules.pro] 란 파일을 생성해 줍니다.

그 후 아래 코드를 [proguard-rules.pro]에 추가해 줍니다.

## Flutter wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.**  { *; }
-keep class io.flutter.util.**  { *; }
-keep class io.flutter.view.**  { *; }
-keep class io.flutter.**  { *; }
-keep class io.flutter.plugins.**  { *; }
-dontwarn io.flutter.embedding.**

 

이 설정은 Flutter 엔진 라이브러리를 보호합니다.

다른 라이브러리(예. Firebase)를 보호하기 위해서는 추가적으로 규칙을 작성해야합니다.

 


앱 난독화 및 크기 축소 사용하기

해당 작업을 위해 [android] - [app] - [build.gradle] 파일에 들어가서

buildTypes {

란 코드를 찾아 아래 코드같이 변경해 줍니다.

 

android {
    buildTypes {
        release {
            signingConfig signingConfigs.release

            minifyEnabled true
            useProguard true

            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

 

이제 해당 설정을 통해 Flutter 엔진 라이브러리를 난독화 및 압축을 할 수 있게 되었습니다.

만약 Firebase같은 다른 라이브러리를 보호하기 위해서는 추가적인 규칙이 있을 수 있습니다.

 


마무리

오늘은 Flutter 앱 배포 그 세번째 Proguard를 사용한 난독화 및 압축 작업을 알아보았습니다.

혹시 잘 안되는 부분이 있거나 포스트에 문제가 있다면 댓글을 남겨주시기 바랍니다.

감사합니다.

이 글을 공유하기

댓글