When signing my flutter app i cannot build the app *edited*
Solution 1
It appears as if I had named the keyAlias wrong, it works now that I have changed it. Thank you so much for all the help.
Solution 2
Flutter made a guide on how to sign an app which worked for me. You should give it a try.
Ted Boman
Updated on December 15, 2022Comments
-
Ted Boman over 1 year
So i want to publish my flutter app to the play store. I signed the app but after that the app won't build. When i try to build my app through the appbundle it returns this:
C:\Users\tbsvst18tedbom\AndroidStudioProjects\tab_truth_true\tab>flutter build appbundle Initializing gradle... 1,1s Resolving dependencies... 5,6s Running Gradle task 'bundleRelease'... Running Gradle task 'bundleRelease'... Done 11,9s Gradle task bundleRelease failed with exit code 1
When i try to build the app through fat APK i get a longer error but still a mystery:¨
C:\Users\tbsvst18tedbom\AndroidStudioProjects\tab_truth_true\tab>flutter build apk You are building a fat APK that includes binaries for android-arm, android-arm64. If you are deploying the app to the Play Store, it's recommended to use app bundles or split the APK to reduce the APK size. To generate an app bundle, run: flutter build appbundle --target-platform android-arm,android-arm64 Learn more on: https://developer.android.com/guide/app-bundle To split the APKs per ABI, run: flutter build apk --target-platform android-arm,android-arm64 --split-per-abi Learn more on: https://developer.android.com/studio/build/configure-apk-splits#configure-abi-split Initializing gradle... 1,4s Resolving dependencies... 23,0s Note: C:\Users\tbsvst18tedbom\Desktop\Appen\Flutter\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_admob-0.9.0+9\android\src\main\java\io\flutter\plugins\firebaseadmob\AdRequestBuil derFactory.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: C:\Users\tbsvst18tedbom\Desktop\Appen\Flutter\flutter\.pub-cache\hosted\pub.dartlang.org\url_launcher-5.2.5\android\src\main\java\io\flutter\plugins\urllauncher\WebViewActivity.jav a uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. Running Gradle task 'assembleRelease'... Running Gradle task 'assembleRelease'... Done 133,5s (!) Gradle task assembleRelease failed with exit code 1
I'll add the app-level build.gradle file if that helps.
def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { localPropertiesFile.withReader('UTF-8') { reader -> localProperties.load(reader) } } def flutterRoot = localProperties.getProperty('flutter.sdk') if (flutterRoot == null) { throw new FileNotFoundException()("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") } def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' } def flutterVersionName = localProperties.getProperty('flutter.versionName') if (flutterVersionName == null) { flutterVersionName = '1.0' } apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { signingConfigs { release { storeFile file('C:\\Users\\tbsvst18tedbom\\Desktop\\Appen\\KeyStore\\TABKEY.jks') storePassword '***' keyAlias = 'TABTRUTH1' keyPassword '***' } } compileSdkVersion 29 sourceSets { main.java.srcDirs += 'src/main/kotlin' } lintOptions { disable 'InvalidPackage' } defaultConfig { applicationId "com.tab.tab" minSdkVersion 21 targetSdkVersion 29 versionCode = flutterVersionCode.toInteger() versionName flutterVersionName testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" signingConfig signingConfigs.release } buildTypes { release { multiDexEnabled true minifyEnabled false signingConfig signingConfigs.release proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.pro' } } } flutter { source '../..' } dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.60" testImplementation 'junit:junit:4.13-rc-1' androidTestImplementation 'androidx.test:runner:1.3.0-alpha02' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0-alpha02' implementation 'com.google.firebase:firebase-ads:18.3.0' implementation 'com.google.firebase:firebase-appindexing:19.0.0' implementation 'com.google.android.gms:play-services-ads:18.3.0' } apply plugin: 'com.google.gms.google-services' // Google Play services Gradle plugin
I hope that anyone can help me with this weird error message. I have no idea what so ever of what the problem may be since the app built fine just before I signed it.
If you need any files just say the word and I'll edit the question.
Thank you so much!
EDIT1 As requested, this is the pubspec.yaml file
name: tab description: TAB2 # The following defines the version and build number for your application. # A version number is three numbers separated by dots, like 1.2.43 # followed by an optional build number separated by a +. # Both the version and the builder number may be overridden in flutter # build by specifying --build-name and --build-number, respectively. # In Android, build-name is used as versionName while build-number used as versionCode. # Read more about Android versioning at https://developer.android.com/studio/publish/versioning # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html version: 1.0.0+1 environment: sdk: ">=2.1.0 <3.0.0" dependencies: flutter: sdk: flutter # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^0.1.2 url_launcher: ^5.0.0 firebase_admob: ^0.9.0+9 firebase_core: ^0.4.2 firebase_analytics: ^5.0.6 dev_dependencies: flutter_launcher_icons: "^0.7.3" flutter_test: sdk: flutter flutter_launcher_icons: "^0.7.3" flutter_icons: android: true ios: true image_path: "Images/Logo_utan_text.png" # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec # The following section is specific to Flutter. flutter: # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class. uses-material-design: true # To add assets to your application, add an assets section, like this: assets: - Images/logotype.png - Images/Logo_utan_text.png # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.dev/assets-and-images/#resolution-aware. # For details regarding adding assets from package dependencies, see # https://flutter.dev/assets-and-images/#from-packages # To add custom fonts to your application, add a fonts section here, # in this "flutter" section. Each entry in this list should have a # "family" key with the font family name, and a "fonts" key with a # list giving the asset and other descriptors for the font. For # example: # fonts: # - family: Schyler # fonts: # - asset: fonts/Schyler-Regular.ttf # - asset: fonts/Schyler-Italic.ttf # style: italic # - family: Trajan Pro # fonts: # - asset: fonts/TrajanPro.ttf # - asset: fonts/TrajanPro_Bold.ttf # weight: 700 # # For details regarding fonts from package dependencies, # see https://flutter.dev/custom-fonts/#from-packages
After further investigation, I found the build it created. The folder is there with all info but there is no APK. I belive that the apk fails to be signed so therefore it does not get created? Correct me if im wrong.
Thank you!
EDIT3 When I run gradle sync i get this gradle issue
INFO: API 'variantOutput.getProcessResources()' is obsolete and has been replaced with 'variantOutput.getProcessResourcesProvider()'. It will be removed at the end of 2019. For more information, see https://d.android.com/r/tools/task-configuration-avoidance. To determine what is calling variantOutput.getProcessResources(), use -Pandroid.debug.obsoleteApi=true on the command line to display more information. Affected Modules: app
Does anyone know what to do to fix this?
-
griffins over 4 yearsadd your pubspec.yaml
-
i6x86 over 4 yearsI don’t use windows so I’m not sure, but why you use two backslashes to indicate the path? I think the problem is with the signing section so this one might be the reason.
-
Ted Boman over 4 years@Ggriffo I have updated my question with the pubspec.yaml file. I also changed the path indication to forwardslashes but with no luck at solving the issue.
-
griffins over 4 yearsafter going through your pub file some dep require some configs eg pub.dev/packages/firebase_admob
-
Ted Boman over 4 yearsI looked through the link and my pubspec but i'm not sure what i need to do. As far as I can see, nothing is wrong?
-
Ted Boman over 4 years@Ggriffo the thing is, the build works when i don't sign the app. As soon as i try to sign it, it fails.
-
-
Ted Boman over 4 yearsI have tried this method but it also returns this error.