From e13e8032d9c6336810ca5a064ef86330fb9bffc3 Mon Sep 17 00:00:00 2001 From: JiWoong Sul Date: Mon, 23 Feb 2026 15:49:43 +0900 Subject: [PATCH] =?UTF-8?q?chore(build):=20=EB=B9=8C=EB=93=9C=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Android: proguard 규칙 추가, build.gradle 업데이트 - iOS: 권한 설정 및 프로젝트 구성 업데이트 - macOS: 앱 정보 및 entitlements 업데이트 --- android/app/build.gradle.kts | 6 ++++++ android/app/proguard-rules.pro | 21 ++++++++++++++++++++ android/app/src/main/AndroidManifest.xml | 6 ++++-- ios/Runner.xcodeproj/project.pbxproj | 6 ++++++ ios/Runner/Info.plist | 25 ++++++++++++++++++++++-- macos/Runner/Configs/AppInfo.xcconfig | 4 ++-- macos/Runner/Release.entitlements | 2 ++ 7 files changed, 64 insertions(+), 6 deletions(-) create mode 100644 android/app/proguard-rules.pro diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 74b918f..732aa76 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -48,6 +48,12 @@ android { buildTypes { release { + isMinifyEnabled = true + isShrinkResources = true + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) signingConfig = signingConfigs.getByName("release") } } diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro new file mode 100644 index 0000000..72cc7f6 --- /dev/null +++ b/android/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Flutter 기본 규칙 +-keep class io.flutter.app.** { *; } +-keep class io.flutter.plugin.** { *; } +-keep class io.flutter.util.** { *; } +-keep class io.flutter.view.** { *; } +-keep class io.flutter.** { *; } +-keep class io.flutter.plugins.** { *; } + +# Google Mobile Ads (AdMob) +-keep class com.google.android.gms.ads.** { *; } +-keep class com.google.ads.** { *; } + +# In-App Purchase (Google Play Billing) +-keep class com.android.vending.billing.** { *; } + +# Kotlin 직렬화(serialization) 관련 +-keepattributes *Annotation* +-keepattributes InnerClasses + +# 제네릭(generics) 시그니처 유지 +-keepattributes Signature diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 172c661..f252906 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,9 +1,11 @@ - + + + diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 057ad43..37f1043 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -361,7 +361,9 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 82SY27V867; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -540,7 +542,9 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 82SY27V867; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -562,7 +566,9 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 82SY27V867; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 7bab00a..600c57d 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName - Asciineverdie + ASCII Never Die CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -13,7 +13,7 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleName - asciineverdie + ASCII Never Die CFBundlePackageType APPL CFBundleShortVersionString @@ -47,5 +47,26 @@ NSHumanReadableCopyright © 2025 naturebridgeai 天安門 六四事件 法輪功 李洪志 Free Tibet + + GADApplicationIdentifier + ca-app-pub-6691216385521068~8216990571 + + SKAdNetworkItems + + + SKAdNetworkIdentifier + cstr6suwn9.skadnetwork + + + + NSUserTrackingUsageDescription + This identifier will be used to deliver personalized ads to you. + + CFBundleLocalizations + + en + ko + ja + diff --git a/macos/Runner/Configs/AppInfo.xcconfig b/macos/Runner/Configs/AppInfo.xcconfig index 90f9652..baa25bd 100644 --- a/macos/Runner/Configs/AppInfo.xcconfig +++ b/macos/Runner/Configs/AppInfo.xcconfig @@ -5,10 +5,10 @@ // 'flutter create' template. // The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = asciineverdie +PRODUCT_NAME = ASCII Never Die // The application's bundle identifier PRODUCT_BUNDLE_IDENTIFIER = com.naturebridgeai.asciineverdie // The copyright displayed in application information -PRODUCT_COPYRIGHT = Copyright © 2025 com.example. All rights reserved. +PRODUCT_COPYRIGHT = Copyright © 2025 naturebridgeai. All rights reserved. diff --git a/macos/Runner/Release.entitlements b/macos/Runner/Release.entitlements index 852fa1a..ee95ab7 100644 --- a/macos/Runner/Release.entitlements +++ b/macos/Runner/Release.entitlements @@ -4,5 +4,7 @@ com.apple.security.app-sandbox + com.apple.security.network.client +