Vintage appMaker의 Tech Blog

[Flutter] Android 프로젝트를 버전업 요구할 때 본문

Source code or Tip/Flutter & Dart

[Flutter] Android 프로젝트를 버전업 요구할 때

VintageappMaker 2025. 3. 16. 09:28

 

Android는 정책이 일정시간 꾸준히 변한다. 그런 점에서 이전(최소 1년)에 만든 프로젝트를  빌드하여 마켓에 업로드할 수 없을 때가 많다. 그런 이유로 Flutter에서도 오래된 프로젝트를 Android로 빌드 시 에러가 발생한다. 이에 대한 해결법을 다음과 같이 진행했다. 

 


프롬프트

 
Flutter에서 이전에 문제없던 프로젝트가 있다. 시간이 지나서 빌드하니 Android 정책에 따라 Gradle과 SDK 버전을 업그레이드 시켜야 한다는 에러 메시지를 받았다. 간단한 해결방법은?
 

ChatGPT의 말:

Flutter 프로젝트에서 Gradle 및 SDK 버전 업그레이드가 필요할 때, 가장 간단한 해결 방법은 다음과 같습니다.


1. Flutter 및 패키지 업데이트

Flutter SDK와 사용 중인 패키지를 최신 상태로 업데이트합니다.

 
flutter upgrade flutter pub upgrade

2. Gradle 및 Android SDK 업데이트

(1) Android Gradle 플러그인 & Gradle 버전 업데이트

  • android/gradle/wrapper/gradle-wrapper.properties 파일을 열어 distributionUrl을 최신 버전으로 변경합니다.
    예를 들어:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip

 

  • android/build.gradle에서 com.android.tools.build:gradle 버전도 최신 버전으로 변경합니다.
classpath 'com.android.tools.build:gradle:8.0.2'

(2) compileSdkVersion 및 targetSdkVersion 업데이트

  • android/app/build.gradle 파일에서 다음을 변경합니다.
android {
    compileSdkVersion 34  // 최신 SDK 버전 사용
    defaultConfig {
        targetSdkVersion 34
    }
}

  

3. 빌드 캐시 정리 후 재시도

이전 캐시가 문제를 일으킬 수 있으므로 캐시를 정리하고 다시 빌드합니다.

 
flutter clean
flutter pub get
flutter build apk  # 또는 flutter build appbundle
 
 
flutter clean flutter pub get flutter build apk # 또는 flutter build appbundle

이 방법을 따르면 대부분의 Gradle 및 SDK 버전 관련 문제를 해결할 수 있습니다. 🚀


이전에 썼던 개발자 노트:

 

android에서는 Android Studio가 업그레이드 될 때마다 SDK와 Gradle의 업그레이드를 요구한다. 그러다보면 어느순간 이전버전에 문제없던 프로젝트가 새로운 환경에서 충돌이 흔하게 발생한다.

특히 Flutter 3.6으로 업그레이드 되면서 Android의 개발환경은 수정할 것이 많아졌다. 이에 대한 메뉴얼도 Flutter에서 제공하는 데, 그대로 따라하다보면 문제가 발생하는 경우가 많다.

이럴 때는 Android 부분만 새롭게 만들면 해결이 가능하다.
flutter create .를 사용하면 일단, Android로 빌드하는 데 큰 문제가 없다.

프로젝트 폴더를 풀 때, pubspec.yaml에 있는 name: 과 동일한 폴더로 한다.

  1. 원래소스를 백업
  2. 프로젝트 소스를 압축해제 또는 복사
  3. 👉🏾 project 폴더 내의 Android 폴더 삭제
  4. 👉🏾 프로젝트 root 폴더에서 flutter create .를 실행
  5. android 실행확인
  6. 문제가 없다면 다음으로 진행:
  7. app의 build.gradle의 설정변경
    • defaultConfig{}의 applicationId를 원본대로 변경
    • 기타 추가정보(Gradle 또는 플러그인)가 있다면 원본대로 추가