Однако, когда я запускаю команду «flutter build appbundle» через CLI, она всегда сообщает, что приложение не подписано при загрузке в Google Play.

- он продолжает говорить: «Все загруженные пакеты должны быть подписаны».
Сборка из Android Studio работает нормально, но Я использую отдельную команду для включения файла .env во время процесса сборки, поэтому я не уверен, что он будет правильно включен при сборке из Android Studio.

Кто-нибудь сталкивался с подобной проблемой?
У меня правильно настроен ключ.properties, и android/app/build.gradle.kts также настроен правильно следующим образом. Я не знаю, в чем проблема.
это моя команда сборки
flutter build appbundle --release --dart-define-from-file=.env
а это мой файл build.gradle.kts
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/bu ... on-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")
//}
Подробнее здесь: https://stackoverflow.com/questions/798 ... oid-studio
Мобильная версия