도입

이번 포스팅에서는 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'
	}
}

결과

profile
행복을 고민하는 블로거

1개의 댓글

comment-user-thumbnail
2022년 12월 27일

안녕하십니까 선생님. 혹시 폴더 사이즈를 측정하신 방법에 대해서 공유해주실 수 있으신가요?

답글 달기