2. [스벨트킷모바일앱개발] 안드로이드 사인된 apk 만들기
이전편
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
'Computer 관심 > Svelte' 카테고리의 다른 글
4. [스벨트킷모바일앱개발] capacitor + sveltekit + capgo 모바일앱 라이브업데이트 하기 (0) | 2023.06.14 |
---|---|
3. [스벨트킷모바일앱개발] 아이오닉 사용해서 앱 UI만들기 (0) | 2023.06.07 |
1. [스벨트킷모바일앱개발] capacitor Ionic SvelteKit 실행해보기 (0) | 2023.04.23 |
sveltekit을 vercel에 올리기(엄청 쉬움) (0) | 2023.01.08 |
[sveltekit] +page.js가 필요한 이유 (0) | 2022.10.08 |