I already set up for build app release like pro-guard, icon, manifest etc without flavor
. I migrated dir /android
to AndroidX
because if not, failed to build app release when run flutter build apk
. So I migrate it and success. Like below:
rifafauzi6@Anonymous-X456UR:/media/rifafauzi6/NM/Materi/BackUp Aplikasi Android/Flutter Project/vallery$ 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.3s
Resolving dependencies... 2.9s
Running Gradle task 'assembleRelease'...
Running Gradle task 'assembleRelease'... Done 59.6s
Built build/app/outputs/apk/release/app-release.apk (16.1MB).
Then after success, I install it with two ways:
Using flutter install
rifafauzi6@Anonymous-X456UR:/media/rifafauzi6/NM/Materi/BackUp Aplikasi Android/Flutter Project/vallery$ flutter install
Initializing gradle... 1.3s
Resolving dependencies... 2.5s
Installing app.apk to SM A600G...
Installing build/app/outputs/apk/app.apk... 16.4s
Using manual, go to that dir, and install it.
I already try flutter build apk --split-per-abi
then like above I install it with two ways too. But still crashing when I open the app before showing the splash screen. This is the manifest for release apps in dir main
:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="my_package">
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
calls FlutterMain.startInitialization(this); in its onCreate method.
In most cases you can leave this as-is, but you if you want to provide
additional functionality it is fine to subclass or reimplement
FlutterApplication and put your custom class here. -->
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:name="io.flutter.app.FlutterApplication"
android:label="Vallery"
android:usesCleartextTraffic="true"
android:icon="@mipmap/ic_vallery">
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- This keeps the window background of the activity showing
until Flutter renders its first frame. It can be removed if
there is no splash screen (such as the default splash screen
defined in @style/LaunchTheme). -->
<meta-data
android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
android:value="true" />
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
And this is the output of flutter doctor -v
:
[✓] Flutter (Channel stable, v1.7.8+hotfix.4, on Linux, locale en_US.UTF-8)
• Flutter version 1.7.8+hotfix.4 at /media/rifafauzi6/NM/Materi/flutter
• Framework revision 20e59316b8 (8 weeks ago), 2019-07-18 20:04:33 -0700
• Engine revision fee001c93f
• Dart version 2.4.0
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at /home/rifafauzi6/Android/Sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.2
• Java binary at: /opt/android-studio/jre/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
• All Android licenses accepted.
[✓] Android Studio (version 3.5)
• Android Studio at /opt/android-studio
• Flutter plugin version 39.0.3
• Dart plugin version 191.8423
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
[✓] VS Code (version 1.38.0)
• VS Code at /usr/share/code
• Flutter extension version 3.3.0
[✓] Connected device (1 available)
• SM A600G • 5200e3e7f01e45f3 • android-arm • Android 9 (API 28)
• No issues found!
Can someone help me? Because I need to install it (release apk) first into real device before I upload to Play Store.
Try
flutter build apk --no-shrink
Update
flutter build apk --release --split-per-abi --no-shrink
This solved my problem
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With