본문 바로가기
Flutter/Flutter Programming

안드로이드 배포방법

by Maccrey 2024. 6. 3.
반응형

1. upload key-store 생성

keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA \-keysize 2048 -validity 10000 -alias upload

 

2. 생성한 keystore를 Project에서 사용할 수 있도록 2가지를 한다.

1) keystore 정보들어있는 파일을 생성 ( android )

key.properties을 생성 후

storePassword=Maccrey
keyPassword=Maccrey
keyAlias=upload
storeFile=/Users/maccrey/development/Development/01. developing/diary_app/navi_diary/android/app/upload-keystore.jks

2) 해당 key Property파일을 Project에 있는 build.gradle에 추가해 준다.( android → app → build.gradle )

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
//android 바로 위에 코드를 넣는다.
android {
.
.
}

project가 빌드가 될때 해당 keystore를 사용하라는 코드를 넣어 준다. ( android → app → build.gradle )

android {
.
.
defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.example.navi_diary"
        // You can update the following values to match your application needs.
        // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
        minSdkVersion 21
        targetSdkVersion flutter.targetSdkVersion
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

//android 안에 buildTypes를 찾아 코드를 넣는다.

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

    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}

GitHub에 keystore가 노출 되지 않도록 아래 내용을 추가해준다. ( android -> .gitignore )

key.properties
**/*.keystore
**/*.jks

빌드하기전에 체크 사항 -

  • App Manifest 정보 확인 ( android → app → main → AndroidManifest.xml )
<uses-permission android:name="android.permission.INTERNET"/>

//꼭 pplication위에 넣어준다
<application
  • 유저가 보는 App이름이 아래의 내용이다.
android:label="NAVI Diary" //app 이름
  • blild.gradle 파일 설정 확인 ( Android → app →build.grable )
android { //안에 있는 파일을 확인 
applicationId "com.maccrey.navi_diary_release" //app들과 구별할 수 있는 유니크한 이름
  • release 앱 번들 빌드하기
flutter build appbundle

 

패키지 이름 변경하기

flutter pub add change_app_package_name
// flutter pub run chnge_app_package_name:main 원하는 이름 
flutter pub run change_app_package_name:main com.maccrey.navi_diary_release_demo

 

 

수발가족을 위한 일기장 “나비일기장”

 

https://play.google.com/store/apps/details?id=com.maccrey.navi_diary_release 

 

 

비공개테스트를 위한 20명의 테스터모집 앱 "테스터 쉐어"

 

https://play.google.com/store/apps/details?id=com.maccrey.tester_share_release  

반응형