스벨트안드로이드에 해당하는 글 1

2. [스벨트킷모바일앱개발] 안드로이드 사인된 apk 만들기

Computer 관심/Svelte|2023. 5. 22. 23:14
반응형

이전편 

1. [스벨트킷모바일앱개발] capacitor Ionic SvelteKit 실행해보기

 

 

스벨트아이오닉을 사용하여 capacitor로 모바일 앱을 만드는 방법인데

기존에 플러터나 안드로이드 앱을 만들어 봤다면 과정은 다를게 없기 때문에 어렵지 않다.

 

 

1. 커멘드에서 키스토어 생성

 

keytool -genkey -v -keystore key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

 

 

2. android/ 폴더에 key.properties 파일을 생성

storePassword=<키생성시 입력한 암호>
keyPassword=<키생성시 입력한 암호>
keyAlias=key
storeFile=<키파일의 경로와 파일명> 파일경로가 \\를 사용해야함

 

 

3. android/app/build.gradle

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


apply plugin: 'com.android.application'

android { ...

 

 

4. android/app/build.gradle

android {
    // start of signingConfigs
    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }
    // end of signingConfigs
    compileSdkVersion rootProject.ext.compileSdkVersion
    ...
     buildTypes {
        release {
        	// start of 코드난독화 및 사이즈 축소
            minifyEnabled true
            useProguard true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            
            // release 속성으로 변경
            signingConfig signingConfigs.release
        }
    }

 

 

5. 스벨트 엡을 빌드하고 

npm build

 

 

6. build된 앱가 capacitor를 싱크를 시킴 

npx cap sync

※ 이를 하지 않을경우 gradlew실행시 새로 빌드된 앱이 apk로 바뀌지 않음. 위 명령어를 실행하지 않고 apk를 빌드한 뒤 수정된게 반영되지 않아서 당황했다.

 

 

7. apk나 appbundle을 생성

안드로이드 폴더에 들어가서

//apk

gradlew assembleRelease

//or appbundle

gradlew bundleRelease

※ gradlew clean 를 사용하면 gradlew로 만든 apk를 지울 수 있으니 실패시 사용.

 

 

생성된 apk 경로는 아래와 같다.

 

android/app/build/outputs/apk/release/app-release.apk

 

번들 경로

http://android/app/build/outputs/bundle/

 

---------- 추가 ----------

 

앱을 수정시 버전을 업데이트 해야한다.

 

ex)

\android\app\build.gradle

versionCode 2
versionName "1.0.1"

 

config.json

version

 

 

참조

https://devdactic.com/ionic-in-app-purchase-capacitor

 

댓글()