SSAMKO의 개발 이야기

[Flutter] 이전 버전에서 패키지 추가 이슈 - 'requires your app to be migrated to the Android embedding v2' 본문

Flutter

[Flutter] 이전 버전에서 패키지 추가 이슈 - 'requires your app to be migrated to the Android embedding v2'

SSAMKO 2021. 4. 11. 18:00
반응형

이전 버전에서 제작된 플러터 프로젝트에서 패키지를 추가하려고 할 때,

audioplayers를 추가하고 싶다

아래와 같은 이슈가 발생한다.

android embedding 버전이 맞지 않아서 생기는 이슈인데, 몇가지 조치를 취해주면 해결할 수 있다.

먼저, MainActivity.java를 수정해준다.

아래의 원본 코드를

package co.appbrewery.magic8ball;

import android.os.Bundle;
import io.flutter.app.FlutterActivity;
import io.flutter.plugins.GeneratedPluginRegistrant;

public class MainActivity extends FlutterActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    GeneratedPluginRegistrant.registerWith(this);
  }
}

아래와 같이 수정해준다.

package co.appbrewery.magic8ball;

import io.flutter.embedding.android.FlutterActivity;

public class MainActivity extends FlutterActivity {
 
}

그다음 AndroidManifest.xml파일도 수정해준다. 

아래의 원본 코드에서 <application>과 그 아래의 <meta-data>부분을 수정해준다.

원본

...
<application
        android:name="io.flutter.app.FlutterApplication"
        android:label="magic_8_ball"
        android:icon="@mipmap/ic_launcher">
       	<activity
        	...>
        <meta-data
                android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
                android:value="true" />
...

아래와 같이 수정해준다. <application>의 android:name을 삭제하고, <meta-data>의 android:name과 android:value값을 변경한다.

...
<application
        android:label="magic_8_ball"
        android:icon="@mipmap/ic_launcher">
       	<activity
        	...>
        <meta-data
                android:name="flutterEmbedding"
                android:value="2" />
...

수정 후 아래 커맨드를 이용해 패키지를 다시 불러오면 정상적으로 패키지가 불러지는 것을 확인할 수 있다.

$flutter pub get 

 

 

참고: github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects

 

flutter/flutter

Flutter makes it easy and fast to build beautiful apps for mobile and beyond. - flutter/flutter

github.com

 

반응형
Comments