Wenn ich jedoch den Befehl „flutter build appbundle“ über die CLI ausführe, wird beim Hochladen auf Google Play immer gemeldet, dass die App nicht signiert ist.

- Es wird immer angezeigt: „Alle hochgeladenen Bundles müssen signiert sein.“
Das Erstellen aus Android Studio funktioniert einwandfrei, aber ich verwende einen separaten Befehl, um die .env-Datei während des Erstellungsprozesses einzuschließen, daher bin ich mir nicht sicher, ob dies der Fall ist beim Erstellen aus Android Studio ordnungsgemäß eingebunden werden.

Hat jemand ein ähnliches Problem?
Ich habe key.properties korrekt eingerichtet und android/app/build.gradle.kts ist ebenfalls korrekt eingerichtet, wie folgt. Ich weiß nicht, was das Problem ist.
Das ist mein Build-Befehl
Code: Select all
flutter build appbundle --release --dart-define-from-file=.env
Code: Select all
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import java.util.Properties
import java.io.FileInputStream
plugins {
id("com.android.application")
// START: FlutterFire Configuration
id("com.google.gms.google-services")
// END: FlutterFire Configuration
id("kotlin-android")
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id("dev.flutter.flutter-gradle-plugin")
}
val keystoreProperties = Properties()
val keystorePropertiesFile = rootProject.file("key.properties")
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
}
android {
namespace = {mynamespace}
compileSdk = 36
ndkVersion = "27.3.13750724"
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
defaultConfig {
// AndroidManifest.xml에서 ${applicationName} 플레이스홀더를 대체
manifestPlaceholders += mapOf("applicationName" to "io.flutter.app.FlutterApplication")
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "com.yeoseyo.byeolme"
minSdk = 24
targetSdk = 36
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
versionCode = 17
versionName = "17"
}
signingConfigs {
create("release") {
if (keystorePropertiesFile.exists() && keystoreProperties["storeFile"] != null) {
keyAlias = keystoreProperties["keyAlias"] as String
keyPassword = keystoreProperties["keyPassword"] as String
// storeFile 경로 설정
val keystorePath = keystoreProperties["storeFile"] as String
storeFile = rootProject.file("app/$keystorePath")
// 수정된 부분: keystorePassword 대신 keystoreProperties 사용
storePassword = keystoreProperties["storePassword"] as String
}
}
}
buildTypes {
release{
if (keystorePropertiesFile.exists() && keystoreProperties["storeFile"] != null) {
signingConfig = signingConfigs.getByName("release")
}
isMinifyEnabled = true
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
// 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")
// }
// }
}
kotlin {
compilerOptions {
jvmTarget = JvmTarget.fromTarget("17")
}
}
flutter {
source = "../.."
}
//dependencies {
// // Firebase BoM을 통한 버전 관리 - 모든 Firebase 라이브러리의 호환성을 보장
// implementation(platform("com.google.firebase:firebase-bom:34.1.0"))
//
// // Firebase Analytics - 앱 사용 통계 및 분석
// implementation("com.google.firebase:firebase-analytics")
//
// // Firebase Firestore - 실시간 NoSQL 데이터베이스
// implementation("com.google.firebase:firebase-firestore")
//
// // 추가 Firebase 서비스는 필요시 아래에 추가
// // Firebase Auth: implementation("com.google.firebase:firebase-auth")
// // Firebase Storage: implementation("com.google.firebase:firebase-storage")
// // Firebase Messaging: implementation("com.google.firebase:firebase-messaging")
//}
Mobile version