ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Flutter | 간단 메모 앱 만들어보고 광고까지 달아서 배포하기 - 7. 간단 메모 앱 배포 간단하기 알아보기
    개발/Flutter 2023. 2. 17. 17:29
    반응형

    지난번 까지 완성한 앱으로 이제 앱을 배포해보도록 하겠습니다.

    우선 출시 전에 확인해야할 항목들을 간단히 알아보겠습니다.

    • 개인정보처리방침 작성 및 게시
    • 스토어 등록정보 작성
    • 앱 버전 업데이트
    • 앱 정상 동작 여부 테스트
    • 광고 설정 확인하기

    개인정보처리방침 작성 및 게시는 최초 배포, 개정이 필요한 경우에만 준비를 하면 되지 나머지는 업데이트를 할때에도 매번 준비를 해줘야 합니다. 각 부분의 자세한 사항들은 검색을 통해 알아보시면 될 것 같습니다.

    이제 안드로이드 앱을 만드는 법을 알아보겠습니다. 우선 앱 아이콘 변경을 해보겠습니다. 현재는 앱에 기본 플러터 로고가 들어가 있는데 앱을 출시하면 자신만의 로고를 써야 합니다. 이 앱 아이콘을 만들려면 다양한 해상도의 아이콘을 만들어야 하는데, App Icon Generator 사이트(https://www.appicon.co/)를 이용하시면 편하게 만들 수 있습니다. 1024*1024 이미지만 있으면 됩니다. 그리고 이미지를 올린 뒤 android만 체크해 주시고 generate 버튼을 눌러주시면 됩니다.

    이제 받은 파일의 압축을 풀어 보겠습니다.

    여기서 android 폴더에 다양한 크기의 이미지가 있는것을 볼 수 있습니다. 이 파일들을 안드로이드에 넣어주시면 됩니다. android - app - src - main - res 를 열어주면 다운받은 android의 폴더와 같은 폴더들이 있는것이 보입니다. 이 폴더들을 삭제 하고 붙여넣어도 좋고 덮어씌워도 좋습니다. 그리고 해당 아이콘이 잘 적용 되었는지 실행해 줍니다.

    잘 적용된것을 확인할 수 있습니다. 다음으로 앱 이름을 변경해 주겠습니다. 같은 위치의 AndroidManifest.xml을 열어 줍니다. 그리고 android:label의 이름을 Sticky Memo로 바꿔보겠습니다. 종료 후 다시 실행해 보겠습니다.

    정상적으로 바뀐것을 확인할 수 있습니다.

    다음으로 배포에 필요한 서명키를 만들어 보겠습니다. 서명은 누가 앱을 만들었는지 검증할때 사용합니다. 서명이 없다면 누군가 변조하더라도 뭐가 진짜인지 모릅니다. 서명을 통해 누가 만들었는지 알려주고 안전하게 배포가 가능합니다. 우선 안드로이드 스튜디오에서 프로젝트에서 우클릭 한 후 Flutter에서 open android module in Android Studio를 선택해 줍니다. 그리고 새 창을 띄운 뒤, 상단에 build - Generate Signed Bundle / APK를 클릭해 줍니다. App Bundle를 선택하고 Next를 눌러 줍니다.

    그리고 Create new 버튼을 눌러서 키스토어를 만들어 줍니다.

    키스토어는 서명에 사용하는 키를 저장하는 파일입니다. 먼저 경로를 지정합니다. 저는 바탕화면에 저장해 주겠습니다. 파일이름은 원하는대로 해주시면 됩니다. 암호와 암호 확인을 입력해 줍니다. 다음은 alias에 원하는 이름을 넣어주시면 됩니다. 암호와 암호확인도 해주시면 됩니다. Validity는 그대로 두겠습니다. 마지막으로 이름에 입력을 해주신 뒤 Ok 버튼을 눌러주시면 됩니다.

    그리고 이 키를 배포할 빌드, release 빌드에 사용하도록 수정하겠습니다. 앱 개발에는 debug를 사용하는데 사용자가 사용할때는 필요하지 않아서 배포할때는 release 빌드를 사용합니다. 그리고 좌측에 보여지는 내용을 Android에서 Project로 변경해줍니다. 그리고 두번째 안드로이드 폴더에서 우클릭 후 New에서 File을 눌러줍니다. 파일 이름은 key.properties로 해줍니다. 여기에 key store에 대한 정보와 서명에 사용할 key정보를 입력합니다. storeFile에 경로를 입력합니다. storePassword를 입력해줍니다. keyAlias에는 입력했던 Alias를 입력해주고 keyPassword를 입력해 줍니다.

    다음은 앱을 빌드 할때 이 서명정보를 사용하도록 빌드 스크립트를 수정하겠습니다.  app 아래 build.gradle를 열어줍니다. apply plugin 위에 다음 코드를 넣어줍니다.

    def keystoreProperties = new Properties()
    def keystorePropertiesFile = rootProject.file('key.properties');
    if (keystorePropertiesFile.exists()) {
        keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
    }

    그리고 좀 더 아래에 defaultConfig와 buildTypes 사이에 다음 코드를 넣어줍니다.

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

    마지막으로 buildTypes에서 signingConfigs.debug를 signingConfigs.release로 변경해 줍니다. 수정은 모두 끝났고 우측 상단에 sync now를 해주시면 됩니다. 그후 프로젝트로 돌아가서 하단의 terminal에 flutter build appbundle를 실행시켜서 release 모드로 안드로이드 앱을 만들어 줍니다. 이로써 앱은 다 만들었고 다음으로 구글플레이에 앱을 배포해 보겠습니다. 여기서 다양한 에러가 나오는데 검색을 해보시면 잘 해결 할 수 있습니다. 저는 jks파일의 경로가 문제였어서 이 부분을 properties 파일에서 경로 수정을 해줬습니다. 우선 플레이 스토어에 앱을 등록하기 위해서는 개발자로 등록해야 합니다. https://play.google.com/console/signup

     

    Google Play Console

    로그인 Google Play Console로 이동

    accounts.google.com

     위 사이트에서 등록을 해주시면 됩니다. 이제 새앱을 만들어주면 되는데 가입 후에 콘솔에서 앱 만들기를 해주시면 됩니다. 그 후 앱 이름과 기본언어 앱, 무료를 선택하시고 정책들에 동의 하신후 앱을 만들어 주시면 됩니다.

    이제 좌측의 프로덕션에서 새 버전 만들기를 눌러 줍니다. 그리고 앱 서명에서 계속을 눌러서 서명을 해줍니다. 그리고 아까 생성한 앱 번들을 추가해 줍니다. 프로젝트의 android - app - release 폴더에 있습니다. 업로드가 완료되면 출시정보를 입력해 줍니다. 출시명은 구글플레이 내부에서 각 버전을 구분할때 사용하므로 임의로 하셔도 됩니다. 출시 노트는 사용자에게 보이는 항목으로 언어에 맞게 번역된 내용으로 보여줄 수 있습니다. 다음으로 중요한 부분인데 좌측 메뉴의 하단에 앱 콘텐츠를 봐보겠습니다. 여기서 개인정보처리방침을 넣어 줄수 있습니다. 이외에도 광고를 사용하는지 선택할 수 있고 여러가지 부분을 체크해 줘야 합니다. 제가 알려드릴수 있는 부분은 기본적인 부분으로 자세한 사항들과 앱이 거절을 당하는데 그 과정은 직접 해보시면서 해결해 나가시는게 더 도움이 되리라 생각됩니다. 봐주셔서 감사합니다.

    반응형

    댓글

Designed by Tistory.