From 41f73bc14cc04963cba791a1d99613bcaee4ffe2 Mon Sep 17 00:00:00 2001 From: JiWoong Sul Date: Wed, 21 Jan 2026 19:04:03 +0900 Subject: [PATCH] =?UTF-8?q?feat(android):=20=EB=A6=B4=EB=A6=AC=EC=A6=88=20?= =?UTF-8?q?=EC=84=9C=EB=AA=85=20=EC=84=A4=EC=A0=95=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - keystore 파일 추가 (doc/key/askiineverdie.jks) - key.properties 설정 파일 추가 - build.gradle.kts에 릴리즈 서명 설정 추가 --- android/app/build.gradle.kts | 26 ++++++++++++++++++++------ android/key.properties | 4 ++++ doc/key/Readme.md | 3 +++ doc/key/askiineverdie.jks | Bin 0 -> 2284 bytes 4 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 android/key.properties create mode 100644 doc/key/Readme.md create mode 100644 doc/key/askiineverdie.jks diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 309c87a..74b918f 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -1,3 +1,6 @@ +import java.util.Properties +import java.io.FileInputStream + plugins { id("com.android.application") id("kotlin-android") @@ -5,6 +8,13 @@ plugins { id("dev.flutter.flutter-gradle-plugin") } +// key.properties 파일 로드 +val keystorePropertiesFile = rootProject.file("key.properties") +val keystoreProperties = Properties() +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(FileInputStream(keystorePropertiesFile)) +} + android { namespace = "com.naturebridgeai.asciineverdie" compileSdk = flutter.compileSdkVersion @@ -20,21 +30,25 @@ android { } defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId = "com.naturebridgeai.asciineverdie" - // You can update the following values to match your application needs. - // For more information, see: https://flutter.dev/to/review-gradle-config. minSdk = flutter.minSdkVersion targetSdk = flutter.targetSdkVersion versionCode = flutter.versionCode versionName = flutter.versionName } + signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String? + keyPassword = keystoreProperties["keyPassword"] as String? + storeFile = keystoreProperties["storeFile"]?.let { file(it) } + storePassword = keystoreProperties["storePassword"] as String? + } + } + buildTypes { release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig = signingConfigs.getByName("debug") + signingConfig = signingConfigs.getByName("release") } } } diff --git a/android/key.properties b/android/key.properties new file mode 100644 index 0000000..812f267 --- /dev/null +++ b/android/key.properties @@ -0,0 +1,4 @@ +storePassword=askiineverdie +keyPassword=askiineverdie +keyAlias=askiineverdie +storeFile=../../doc/key/askiineverdie.jks diff --git a/doc/key/Readme.md b/doc/key/Readme.md new file mode 100644 index 0000000..f9aa7e0 --- /dev/null +++ b/doc/key/Readme.md @@ -0,0 +1,3 @@ +storePassword=askiineverdie +keyPassword=askiineverdie +keyAlias=askiineverdie \ No newline at end of file diff --git a/doc/key/askiineverdie.jks b/doc/key/askiineverdie.jks new file mode 100644 index 0000000000000000000000000000000000000000..7d0034a51ed45766ff3c33a982593e5e962b266f GIT binary patch literal 2284 zcmc&!X*AS}1D(w_jLDytAxk8Z;e225boD6`}p{h zf=Fa9AJU#m8(X`i4FbV-0Sasj5a5QN;0D9M3J@VM7)F83L`&J-2-pY0NrT~is-kJ7tWD!xis4p`!vBQf**^q|KuXH}CjE!C?;r`KHR|r#%^jkj8!+@d^w6VF zgvd*BPEGf^9(66` zNDwt;D1ug$0B;K{EwkvEL1JBF+=Uhll}44sty5#RISREs}$sg0*Q5VXuKAi}x8M!i8?Wq)7;;e=2N<_H3P&;qmwW_XHILwSK&STC* zYiE`$>(`E-Jp6c_&cOvu%*L@CBsFMNu+g%G;dmx%Uwcun;7@tfee&rJ`1~>RIc-FV ze|Gz15l?6l`PicGskNq)kItOutGw^MW4A)@R{vTotSF-#m1-Ylw>0vrA+nFmT=u}+ z3Wpl_fygACWQp{~tzZ_AI$1OCt3_^fizQ2?0z2zzs2tm~mW`I>;ojdUeE~qeJlID6 z!4BVxH$;|x8;69DPYiFSY4#dQpjBJ&d2{8~{^anGpbX=dYyB1L{cVBCgh+MS{rB@H zERUT~&{zLu1`oVtHWEI0CA;D%vNft*Lm+5F;&;(jO<@2^c!PcK>(f^uK(OyZsDF~R zPhfzm)Y;seT*>@tMEoar{Szh*~LWp?a#zQlx)9$ z6?*J)I^?3+ms4f8^Wcjs9(7U1KyB4^{#Om=7lv?E`eR<9PMsf)AiVxMM=nQYbwCRQ zf))T2Xf8m3#1udwUD|#s05zquge!B8+e!qgGM(`v=ha!xG&kMZvO#)(Cj zhYrbttmJB}*az!zd4{V*%!O~l$)Xipk239-W<=Tu-UM%hImGQ)(5Es^LSrT4;}9Zv zfoqJW6`?se^-{r8A|=pyIHlDyG&}su;OLHO#hvctw=ci>K3!FuWoOs!bQ^eO$*Gwg z+y=b*)PdrrR0lkMV7k!DC zo1*faZ5^*ecE*dTV)R?iQ2Dme_#P7 zt19e9oG8KlF{cmf8b8KQMDYP2ZR`&R-kAJjCjB9(Aas z>g