1 min readMay 8, 2022
Deployment
Apk build
flutter build apk --release --split-per-abi
Logo set
https://pub.dev/packages/icons_launcherdev_dependencies:
icons_launcher: ^1.1.5flutter_icons:
image_path: 'assets/icon/icon_t.png'
android: true
ios: trueflutter pub get
flutter pub run icons_launcher:main
Rename
Android
Open AndroidManifest.xml
(located at android/app/src/main
)
<application
android:label="App Name" ...> // Your app name here
iOS
Open info.plist
(located at ios/Runner
)
<key>CFBundleName</key>
<string>App Name</string> // Your app name here
Don’t forget to run
flutter clean
Signing and keystore
# for generating android java Keystore
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -sigalg SHA1withRSA -keysize 2048 -validity 10000my build.gradlesigningConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.releaseminifyEnabled true
useProguard trueproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}folder structure:Project-Android
|-- .gradle
|-- app
| |-- src
| | `-- main
| | |-- java
| | |-- res
| | `-- AndroidManifest.xml
| `-- build.gradle
|-- gradle
| `-- wrapper
|-- gradle.properties
|-- gradlew
|-- local.properties
|-- proguard-rules.pro
|-- gradlew.bat
`-- key.propertiesi left out files under wrapper, java, and reskey.propertiesstorePassword=<placeholder1>
keyPassword=<placeholder1>
keyAlias=key
storeFile=</Users/Conner/key.jks>Step-2:Build AppBundle:flutter build appbundle --target-platform android-arm,android-arm64,android-x64 --obfuscate --split-debug-info=/<directory>
Build APK:flutter build apk --target-platform android-arm,android-arm64,android-x64 --split-per-abi --obfuscate --split-debug-info=/<directory>