앱 용량 줄이기

도입

이번 포스팅에서는 Flutter의 앱 용량을 줄였던 과정에 대해 공유할 예정이다.

원인 파악

확인 결과, ML Kit 라이브러리를 추가하며 용량이 많이 증가한 것을 확인했다.
감정일기 앱에서는 onDevice Translation만 사용한다. 다른 ML Kit의 기능은 필요하지 않다.

해결책

나와 동일한 문제를 겪는 사람들이 많았고 서로 해결 방법을 공유하고 있다.
https://github.com/bharat-biradar/Google-Ml-Kit-plugin/issues/26

커뮤니티에서 힌트를 얻어
사용하지 않는 모델들을 빌드에서 제외!

android {
	// ...
    buildTypes {
        release {
			// ...
			aaptOptions {
                ignoreAssetsPattern 'mlkit_pose'
                ignoreAssetsPattern '!mlkit_pose:!mlkit_label_default_model:'
                ignoreAssetsPattern '!mlkit_pose:'
            }

        }
        debug {
			// ...
			aaptOptions {
                ignoreAssetsPattern 'mlkit_pose'
                ignoreAssetsPattern '!mlkit_pose:!mlkit_label_default_model:'
                ignoreAssetsPattern '!mlkit_pose:'
            }

        }
    }

	packagingOptions {
//        exclude 'lib/**/libtranslate_jni.so'
		exclude 'lib/**/libdigitalink.so'
        exclude 'lib/**/libxeno_native.so'
        exclude 'lib/**/libmlkitcommonpipeline.so'
        exclude 'lib/**/libbarhopper_v2.so'
        exclude 'lib/**/libclassifier_jni.so'
        exclude 'lib/**/libpredictor_jni.so'
        exclude 'lib/**/libmlkit_ocr_pipeline.so'
        exclude 'lib/**/libtextclassifier3_jni_tclib.so'
        exclude 'lib/**/libface_detector_v2_jni.so'
        exclude 'lib/**/libtensorflowlite_jni.so'
        exclude 'lib/**/liblanguage_id_jni.so'
	}
}

결과

좋은 웹페이지 즐겨찾기