[Flutter] null check 하는 법 & Android 앱 발행

Woojin·2023년 9월 12일
0

Flutter

목록 보기
9/27

null check 하는 법

  1. 변수, 함수 타입 지정이 잘 되었는지 확인
var total = 3;
var like = [0, 0, 0];
var name = [];

//  --> 변경

int total = 3;
List<int> like = [0, 0, 0];
List<Contact> name = [];
  1. null check
    1. null인지 체크하는 if문 쓰면 됨
    2. 삼항연산자 쓰면 됨
    3. ?? 써도 됨 → ?? 왼쪽 변수가 null이면 오른쪽 값 남겨 달라는 뜻
      • name[i].givenName ?? '이름이 없는 사람'

Android 앱 발행

  1. keytool 도구를 이용해서 키를 하나 생성해준다.

    • 키 파일 저장하는 폴더 안의 내용물이 전부 삭제되니 반드시 새로운 폴더 만들어서 저장하기
    1. 에디터 터미널 오픈 → flutter doctor -v 입력하면 Java binary 라는 프로그램 위치 알려줌 → bin까지 복사
    1. 위에서 복사한 경로를 아래에 붙여주고 키 파일을 저장할 폴더를 생성하여 붙여준다.
    • 윈도우
         저기뜨는bin까지경로\keytool -genkey -v -keystore c:\키파일저장할폴더경로\upload-keystore.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias upload
    - 이때 경로 중간에 공백이 있으면 단어를 “” 따옴표 안에 담으면 된다.
             C:\"Program Files"\Android\"Android Studio1"\jre\bin\keytool -genkey -v -keystore C:\flutter_keys\upload-keystore.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias upload
         거기뜨는경로\keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload
         ```
        
     - 경로 준간에 공백이 있으면 공백 왼쪽에 \ 기호 넣어주기
     

  1. 코드를 입력하면 비밀번호 2개를 정하라고 하는데 비밀번호를 입력 후 나머지 정보들도 입력하면 key 파일이 생성됨
    1. key 파일 경로와 비번 2개는 잘 보관해야 함

  1. 프로젝트 안에 android 폴더에 key.properties라는 파일 생성

    1. 코드 복붙하여 작성
    storePassword=아까입력한비번1
    keyPassword=아까입력한비번2
    keyAlias=upload
    storeFile=키파일경로/upload-keystore.jks
    • 여기서 경로는 \ 가 아닌 / 로 해야 함
  2. 프로젝트에 android/app/build.gradle 파일에 코드 추가

    1. android { ~~ 전에 4줄 추가

      def keystoreProperties = new Properties()
      def keystorePropertiesFile = rootProject.file('key.properties')
      if (keystorePropertiesFile.exists()) {
          keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
      }
      
      android { 어쩌구~~~
    2. android { ~~ 안에 8줄 추가

      signingConfigs {
          release {
              keyAlias keystoreProperties['keyAlias']
              keyPassword keystoreProperties['keyPassword']
              storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
              storePassword keystoreProperties['storePassword']
          }
      }
    3. buildTypes { 안에 코드에서 debug라고 되어있는 부분을 release로 변경

      buildTypes {
              release {
                  // TODO: Add your own signing config for the release build.
                  // Signing with the debug keys for now, so `flutter run --release` works.
                  signingConfig signingConfigs.release
              }
          }
  3. Build → Flutter → App Bundle 누르면 app번틀 파일을 생성해줌

  4. 생성된 .aab 파일은 구글 플레이 스토어 등록이 가능하나 개발자 등록비 $25 필요

0개의 댓글