2021 06 Flutter
Flutter Utilze Flutter 플레이스토어 배포

#1. Android Summary, Timeline[ Summary ][ Launcher Icon ]애플리케이션을 배포하기 위해 런처 아이콘을 변경한다.플러터 기본 아이콘으로 진행하려는 사람은 수행하지 않아도 된다.아래의 경로에 512 x 512 사이즈의 아이콘을 생성한다./{Project Name}/assets/icon/icon.png 아이콘을 쉽게 변경하기 위해서는 flutter_auncher_icons 패키지를 이용하면 수월하다.pubspec.yaml 파일에 패키지 설치와 아이콘 설정을 진행한다.# /{Project Name}/pubspec.yaml dev_dependencies: flutter_launcher_icons: "^0.8.0" flutter_icons: android: "launcher_icon" ios: true image_path: "assets/icon/icon.png"설정이 끝난 후 패키지 설치와 아이콘을 변경하기 위한 명령어를 실행한다.$ flutter pub get $ flutter pub run flutter_launcher_icons:main[ Application Sign ]구글 플레이스토어에 출시를 위해서는 앱에 디지털 서명이 필요하다.keystore를 만들어 애플리케이션에 디지털 서명이 가능하다.*참고. 항상 개인적으로 보관해야 하는 파일로, 공개된 저장소에 올려서는 안됩니다.$ keytool -genkey -v -keystore c:/Users/{User Name}/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key 서명한 디지털 파일을 앱이 참조할 수 있도록 새롭게 파일을 생성한다.# {Project Name}/android/key.properties storePassword=<password from previous step> keyPassword=<password from previous step> keyAlias=key storeFile=C:/Users/{User Name}/upload-keystore.jks[ Gradle Sign ]build.gradle 파일에 android 태그 위에 작성한다.# /{Project Name}/android/app/build.gradle def keystoreProperties = new Properties() def keystorePropertiesFile = rootProject.file('key.properties') if (keystorePropertiesFile.exists()) { keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) } android {buildTypes 태그 위에 작성한다.signingConfigs { release { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile file(keystoreProperties['storeFile']) storePassword keystoreProperties['storePassword'] } } buildTypes { release { signingConfig signingConfigs.release } }Progarud를 구성해야 한다.플러터 엔진 라이브러리를 보호하는 역할을 수행한다.코드 난독화를 통해 크기를 줄이고 리버스 엔지니어링으로부터 코드를 보호할 수 있다.# /{Project Name}/android/app/proguard-rules.pro ## Flutter wrapper -keep class io.flutter.app.** { *; } -keep class io.flutter.plugin.** { *; } -keep class io.flutter.util.** { *; } -keep class io.flutter.view.** { *; } -keep class io.flutter.** { *; } -keep class io.flutter.plugins.** { *; } -dontwarn io.flutter.embedding.**설정한 proguard와 사이즈 축소를 위해 다음의 내용을 작성한다.# /{Project Name}/android/app/build.gradle android { buildTypes { release { signingConfig signingConfigs.release minifyEnabled true useProguard true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } }#1. Android Summary, Timeline[ Summary ]{Project Name}/android/app/src/main/AndroidManifest.xmlapplication : 애플리케이션의 최종 이름uses-permission : 애플리케이션 사용 권한[ Build Configuration Check ][ AppBundle Build ]$ flutter build appbundle/{Project Name}/build/app/outputs/bundle/release/app.aab

작성일 :2021-06-17 14:11 / 조회수: 117회
2021 05 Flutter Series
Flutter Code Flutter Utilze Flutter Firebase Series 1 파이어베이스 연동

#1. FirebaseSummary, System advantages, System drawbacks[ Summary ]어플리케이션의 서버는 상당히 많은 기능을 가지고 있어야 한다.인증, 데이터베이스, 푸시 알람, 스토리지 등 다양한 분야의 기능을 구현해야 한다.어플리케이션 서버 구성 범위는 프로젝트마다 크게 차이나지 않는다. 새로운 어플리케이션 프로젝트를 진행할 때마다 비슷한 기능을 재구현해 줘야한다.파이어베이스는 이러한 기능들을 프로젝트 구성 시 자동으로 생성해준다.서버 구축과 사용을 위해 리눅스, 도메인 등에 구애받지 않고 사용이 가능하다.[ System advantages ]인증 시스템 지원- 세션, 권한, 보안, 계정, 인증 등의 기능을 모두 지원NoSQL 기반의 3세대 데이터베이스- Document 형식의 NoSQL 기반 데이터베이스- RTSP(Real Time Stream Protocol) 방식의 데이터베이스원격 지원 구성- 앱의 테마, 폰트 변경 가능- 업데이트 알림창 기능- 앱의 환경 원격 구성 가능콘솔 기능 제공- 관리 페이지와 유사한 페이지 제공- 서버 개발자에게 큰 구애를 받지 않음진단 기능 제공- 어플리케이션의 통계를 제공하는 Analytics 지원- 접속자, 오류, 유지율, 상태, 유지시간, 이벤트 등을 추적 가능- 맞춤형 마케팅 기능으로도 이어나갈 수 있음* RTSP : 실시간으로 데이터를 전송하는 방식으로 소켓 기반 서버보다 비약적으로 코드 양이 줄어듬[ System drawbacks ]종종 느려지는 서버 응답속도- 서버가 해외에 존재하여 종종 처리 속도에 지연이 발생빈약한 쿼리 문장- 파이어 베이스는 2가지 형태(NoSQL, RTSP)의 데이터베이스가 존재- 신버전(FireStore)·구버전(RealTimeDatabase) 모두 쿼리가 굉장히 빈약- SQL 데이터베이스의 OR 혹은 LIKE 문이 존재하지 않아 비슷한 글자나 데이터 검색이 불가- 이를 위해 모든 데이터를 불러와 서버 단에서 필터링하는 방법을 권장#2. FirebaseSummary, Development environment, Development appearance[ Summary ]어플리케이션의 서버는 상당히 많은 기능을 가지고 있어야 한다.인증, 데이터베이스, 푸시 알람, 스토리지 등 프로젝트 규모에 따라 구성할 기능이 달라진다.[ Development environment ]Develop : Android Studio파이어베이스와 연동하기 위한 안드로이드 스튜디오 프로젝트를 구성한다.프로젝트 설정 데이터는 다음과 같다.Project Name : firebase_tutorialAndroid Language : KotliniOS Language : SwiftPlatforms : Android, IOS안드로이드 스튜디오와 연결할 파이어베이스 프로젝트를 생성한다.프로젝트 이름은 언더바(_)를 사용할 수 없어 Flutter-Firebase-Tutorial로 진행한다.> Firebase Console Link애널리틱스는 국가별 구성이 가능한 기능으로 기준 시간, 지역 데이터 등이 변경된다.어플리케이션의 주 고객층이 어느 국가인지 정해두면 좋다.애널리틱스를 통한 데이터를 설정 & 확인할 계정을 선택한다.이전에 파이어베이스를 사용하지 않아 계정이 존재하지 않는다면 간단하게 생성 가능하다.프로젝트 생성이 완료되면 다음과 같이 해당 프로젝트와 어플리케이션을 연동할 수 있다.안드로이드 연동을 위해 가운데의 안드로이드 아이콘을 선택한다.프로젝트와 등록할 어플리케이션의 정보를 작성해야 한다.우리가 필요한 데이터는 총 두 가지로 패키지 이름과 디버그 서명 인증서를 작성한다.*선택 사항을 작성하지 않으면 기능 이용에 제한되므로 반드시 입력한다.1. 안드로이드 패키지 이름다음 경로의 파일을 실행하여 안드로이드 패키지 이름을 확인한다./{Project Name}/android/app/src/main/AndroidManifest.xml2. 디버그 서명 인증서디버그 서명 인증서는 어플리케이션에 대한 OAuth2 클라이언트 및 API키를 위해 필요하다.구글의 일부 서비스를 이용하기 위해 제공해야하는 데이터이다.안드로이드 스튜디오 프로젝트를 생성하면 기본적으로 생성되어 있다.기본 패스워드는 android로 아래의 명령어 입력 후 비밀번호를 작성한다.$ keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore 키 저장소 비밀번호 입력 : android획득한 데이터들을 가지고 순서대로 파이어베이스에 작성한다.안드로이드 패키지 이름 : com.reasley.firebase_tutorial앱 닉네임 : firebase_tutorial디버그 서명 인증서 : 78:85:D8:78:4D:C6:7A:E2:A6:42:19:79:B9:64:70:54:25:CC:99:E1구글 서비스는 클라이언트가 인증된 사용자인지 검증하는 과정을 수행한다.파일을 다운로드 받아 아래의 경로에 넣어준다./{Project Name}/app/google-services.json이제 토큰 값을 받아와 구글 서비스 이용 시 전송하는 코드를 프로젝트 수준으로 작성한다./{Project Name}/build.gradle나머지 데이터는 모두 적혀있으므로 dependencies 구역에 아래의 코드만 추가한다.classpath 'com.google.gms:google-services:4.3.8'프로젝트 수준으로는 정리되었고 어플리케이션 수준으로 토큰 전송 코드를 작성한다.우리는 안드로이드 언어를 코틀린으로 진행했기에 Kotlin을 선택하여 바뀐 코드를 작성한다./{Project Name}/app/build.gradle이번에도 나머지 데이터는 모두 적혀있기에 두 가지 코드만 추가적으로 작성한다.apply plugin: 'com.google.gms.google-services' implementation 'com.google.firebase:firebase-analytics-ktx'이렇게 안드로이드 스튜디오 프로젝트와 파이어베이스 연동을 모두 수행했다.

작성일 :2021-05-22 16:29 / 조회수: 205회
2021 05 Flutter
Flutter Utilze Flutter Android Studio 깃허브 연동 에러 - invalid authentication data

#1. Android Studio New Project CreateSummary[ Summary ]최근 안드로이드 스튜디오와 플러터 플러그인이 업데이트되면서 인터페이스가 많이 달라졌다.이번 포스팅에서 추가된 기능을 이용해 기본 프로젝트와 확장형 프로젝트를 생성해본다.이전과 동일하게 공유할 프로젝트를 작성하는 창이 뜬다면 성공적으로 오류가 해결되었다.

작성일 :2021-05-17 15:01 / 조회수: 95회
2021 05 Flutter
Flutter Utilze Flutter Android Studio 시작 화면 설정

#1. Android Studio Start PageSummary[ Summary ]안드로이드 스튜디오 설치 이후 재실행 할 경우 기존에 사용하던 프로젝트가 나타난다.기존에 사용하던 프로젝트말고 시작 페이지를 사용하고 싶을때가 있다.다음의 경로로 이동하여 Reopen projects on startup 체크박스로 해결할 수 있다.File > Settings > Appearance&Behavior > System Settings체크박스를 해제하면 안드로이드 스튜디오 실행 시 기존에 사용하던 프로젝트 대신 시작 화면이 나온다.

작성일 :2021-05-17 14:55 / 조회수: 115회
  • <<
  • 1
  • >>

소개글

원포올 선임 연구원

Kshield Jr. 2기 인증생

Cyber Guardians 수료생

플러터 앱 개발 강사

플라스크 웹 개발 강사

LG 쿠버네티스 보조강사

멀티캠퍼스 악성코드 보조강사

멀티캠퍼스 쿠버네티스 보조강사

금융감독원 쿠버네티스 보조강사

<시스템 해킹 프로토스타> 저자

<안드로이드 앱 개발에 딱 맞는 플러터와 다트 입문> 저자

문의: reasley.com@gmail.com

Category

Project List

Percent

JustCat

TextCount

Weather

Percent

Percent