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

2023. 9. 12. 10:56·Web & Android/Flutter

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 = [];

2. null check

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

 

Android 앱 발행

  1. keytool 도구를 이용해서 키를 하나 생성해준다.
    • 키 파일 저장하는 폴더 안의 내용물이 전부 삭제되니 반드시 새로운 폴더 만들어서 저장하기
      • 에디터 터미널 오픈 → flutter doctor -v 입력하면 Java binary 라는 프로그램 위치 알려줌 → bin까지 복사
        • 위에서 복사한 경로를 아래에 붙여주고 키 파일을 저장할 폴더를 생성하여 붙여준다.
        • 윈도우
             저기뜨는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
             ```
            
         - 경로 준간에 공백이 있으면 공백 왼쪽에 \ 기호 넣어주기

2. 코드를 입력하면 비밀번호 2개를 정하라고 하는데 비밀번호를 입력 후 나머지 정보들도 입력하면 key 파일이 생성됨

  1. key 파일 경로와 비번 2개는 잘 보관해야 함

 

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

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

 

4. 프로젝트에 android/app/build.gradle 파일에 코드 추가

  • android { ~~ 전에 4줄 추가
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

android { 어쩌구~~~
  • android { ~~ 안에 8줄 추가

 

signingConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
        storePassword keystoreProperties['storePassword']
    }
}

 

  • 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
        }
    }

5. Build → Flutter → App Bundle 누르면 app번틀 파일을 생성해줌

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

저작자표시 비영리 변경금지 (새창열림)

'Web & Android > Flutter' 카테고리의 다른 글

[Flutter] 파일 분리하기  (0) 2023.09.22
[Flutter] ThemeData()  (0) 2023.09.22
[Flutter] 사용자 연락처 불러오기  (0) 2023.09.12
[Flutter] 권한 팝업 요청 기능  (0) 2023.09.12
[Flutter] 버튼에 기능 부여하는 법  (0) 2023.09.12
'Web & Android/Flutter' 카테고리의 다른 글
  • [Flutter] 파일 분리하기
  • [Flutter] ThemeData()
  • [Flutter] 사용자 연락처 불러오기
  • [Flutter] 권한 팝업 요청 기능
woojin._.
woojin._.
여러가지 개발을 해보며 발생하는 이야기들에 대한 블로그입니다:)
  • woojin._.
    Jin's Dev Story
    woojin._.
  • 전체
    오늘
    어제
    • 분류 전체보기 (829)
      • Tools (25)
        • eGovFrame (3)
        • GeoServer (3)
        • QGIS (2)
        • LabelImg (2)
        • Git (6)
        • GitHub (1)
        • Eclipse (7)
        • Visual Studio (1)
      • Web & Android (121)
        • SpringBoot (37)
        • Three.js (2)
        • Spring Data JPA (9)
        • 스프링 부트 쇼핑몰 프로젝트 with JPA (25)
        • Thymeleaf (4)
        • Spring Security (15)
        • Flutter (29)
      • Programming Language (61)
        • JAVA (27)
        • JavaScript (14)
        • Dart (2)
        • Python (15)
        • PHP (3)
      • Database (43)
        • PostgreSQL (32)
        • MYSQL (7)
        • Oracle (3)
        • MSSQL (1)
      • SERVER (17)
        • TCP_IP (3)
        • 리눅스 (7)
        • AWS (7)
      • Coding Test (445)
        • 백준[JAVA] (108)
        • 프로그래머스[JAVA] (260)
        • 알고리즘 고득점 Kit[JAVA] (3)
        • SQL 고득점 Kit[ORACLE] (74)
      • CS 지식 (49)
        • [자료구조] (14)
        • [네트워크] (12)
        • [데이터베이스] (10)
        • [알고리즘] (9)
        • [운영체제] (4)
      • 기타 (6)
      • 자격증 & 공부 (62)
        • 정보처리기사 (2)
        • SQLD (6)
        • 네트워크관리사 2급 (5)
        • 리눅스마스터 1급 (44)
        • 리눅스마스터 2급 (1)
        • ISTQB (3)
        • 시스템보안 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 태그

    baekjoon
    리눅스마스터 1급
    데이터
    CS지식
    Java
    리눅스
    Linux
    springboot
    플러터
    자바
    DB
    JPA
    리눅스마스터
    데이터베이스
    스프링부트
    스프링
    Flutter
    프로그래머스
    pcce 기출문제
    spring
    Spring Security
    backjoon
    스프링 부트 쇼핑몰 프로젝트 with JPA
    programmers
    Oracle
    CS
    시큐리티
    백준
    python
    postgresql
  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
woojin._.
[Flutter] null check 하는 법 & Android 앱 발행
상단으로

티스토리툴바