플러터에서 웹뷰를 쓰다보니 apk를 만들 때

버전을 맞추라고 에러 메시지가 나왔다.

수정한 결과를 작성한다.

경로 : 플러터프로젝트/android/app/src/build.gradle

defaultConfig {
     minSdkVersion 21
     targetSdkVersion 30
     versionCode flutterVersionCode.toInteger()
     versionName flutterVersionName
}



build.gradle 파일의 defaultConfig object를 저런식으로 수정해야 한다.

 

앱 등록을 하기 위해서 안드로이드 스튜디오에서 apk 파일을 따로

만드는 방법이 있지만 난 커맨드명령으로 작성하는게 편해서 명령어를 적어둔다.

필자의 PC는 'M1' 맥북 프로이기 때문에

arm 기반의 칩셋이 필요하므로 명령에 arm64를 추가한다.

my_app % flutter build apk --release --target-platform=android-arm64

저런식으로 명령어를 쳤더니 apk 파일은 만들어졌지만 뭔가 에러가 엄청나게 많이 발생했다.

뭔가 찜찜하다. 그래서 찾아보니 'Null Safety' 라는 옵션을 추가해야 한다.

my_app % flutter build apk --release --no-sound-null-safety --target-platform=android-arm64

깔끔하게 만들어졌다. ㅎ

추후 포스팅은 실제 플레이스토어에 등록해볼 것이다.

안드로이드 앱번들을 등록 후 출시를 하고 다운로드 받았는데 몇 가지 에러가 발생했다.

여러 포스팅에 적긴 번거로우니 한번에 정리해 놓는다.

  1. ERR CLEARTEXT NOT PERMITTED

구글링을 해보니 도메인이 HTTPS가 아닌 HTTP의 경우에 발생하는 에러라 옵션을 추가하면 된다.

AndroidManifest.xml 파일

Android Manifest.xml 파일로 들어가서,

어플리케이션쪽에

android:usesCleartextTraffic='true'

 

코드를 추가하면 된다.

2. ERR_CACHE_MISS

해당 디바이스가 웹뷰에 접근하기 위해 네트워크 권한을 허용해주어야 한다.

AndroidManifest.xml 파일

Android Manifext.xml 파일로 들어가서,

uses-permission 코드 추가

어플리케이션 밑에

<uses-permission android:name="android.permission.INTERNET" />

 

코드를 추가하면 된다.

Flutter 프로젝트 진행중 안드로이드 가상에뮬레이터 실행중 저런 에러가 나왔다.

알아보니 에뮬레이터의 용량이 부족한 문제인 거 같다.

1. 안드로이드 스튜디오에서 AVD Manager 를 선택한다.

AVD Manager 목록

요 연필모양 아이콘을 클릭한다.

2. Show Advanced Settings 버튼 클릭

AVD 설정화면

3. Internal Storage 용량 변경

메모리 옵션 변경

아래쪽으로 스크롤을 많이 내리면

메모리와 스토리지 설정하는 곳이 있다.

나의 경우 기본값이 800MB 였는데 프로젝트에 라이브러리 몇개 추가하니 해당 에러가 발생한 거였다.

조금 더 확장하여 1200MB 로 바꿔주고 Finish 버튼을 눌러준다.

4. AndroidManifest.xml 파일 변경

해당 파일의 mainfest 안에 저부분을 넣는다.

정상적으로 실행이 된다.

 

+ Recent posts