I have built my hybrid app using Ionic Framework and got to the testing phase. I have gone to deploy with google play and found about the 50MB limit.
My app is 200MB and I have been told to split the app into an APK and APK extended.
Could anybody help me find out how to do this?
You will need to get the base of your app below 100MB for the main APK file and then break out additional (likely media files) into expansion APK files.
There is a great plugin to then help with accessing this expansion content:
https://github.com/agamemnus/cordova-plugin-xapkreader
Related
I was developing a flutter application. So I had to delete unused assets used in the project(mainly images) to reduce app size. How can we achieve this in a better way?
Check out this tutorial by the Flutter team for information on how to reduce app size.
When you release app as appbundle it reduces by every architechture that's why you do not need doing this proccess.It would we automatically changed when user download apk from google play
You can try delete unused packages and it would be good too for size app.
When you run flutter build apk or flutter build apk --release app size very high when you try run this flutter build apk --split-per-abi app size will be reduced by architechture of processor. When you upload your project to store it will be required appbundle that why when you download app really from store it would show to reduced size app that's why dont worry.
I made a calculator app using flutter and when I generated the .aab file, it came out to be 16 MB! How do I reduce the size of my .aab file?
Regarding to the flutter official documentation.
Reducing app size
When building a release version of your app, consider using the --split-debug-info tag. This tag can dramatically reduce code size. For an example of using this tag, see Obfuscating Dart code.
Some other things you can do to make your app smaller are:
Remove unused resources
Minimize resource imported from libraries
Compress PNG and JPEG files
Build the .abb
Clean your project
flutter clean
Build an appbundle using the --split-debug-info tag
flutter build appbundle --obfuscate --split-debug-info=<the-path>
Note the <the-path>, a location where your app-release.aab will be copied.
Output
💪 Building with sound null safety 💪
Running Gradle task 'bundleRelease'... 94,8s
✓ Built build/app/outputs/bundle/release/app-release.aab (17.5MB).
Note that the final size of my app-release.aab is 17.5MB.
For more details recarding to deploy flutter android app read the official documentation.
Download size
After deploying my Flutter app to playstore, I was surprised to see that the download size is finally 6.4M.
This is a full app in production, not just a default flutter counter app. You can try it on playstore.
I would like to know if the apk file produced from running the flutter run --release command is different from flutter build apk. Which is better for uploading to the playstore.? I just tried both commands and the difference in apk size is really huge. The release command produces a far smaller apk size.
In summary what I want to know is since
Flutter build apk =>> fat apk.
Does
Flutter run --release =>> split apk?
flutter run --release: builds a release version of the app and starts it directly, then shows the console UI to manipulate the running instance.source flutter wiki
Use release mode for deploying the app, when you want maximum optimization and minimal footprint size. For mobile, release mode (which is not supported on the simulator or emulator), means that:
Assertions are disabled.
Debugging information is stripped out.
Debugging is disabled.
Compilation is optimized for fast startup, fast execution, and small package sizes.
Service extensions are disabled.
(apps are smaller)
flutter build apk results in a fat which is a single APK that contains binaries for multiple ABIs embedded within it. This has the benefit that the single APK runs on multiple architectures and thus has wider compatibility, but it has the drawback that its file size is much larger, causing users to download and store more bytes when installing your application. When building APKs instead of app bundles, it is strongly recommended to build split APKs
Although app bundles are preferred over APKs, there are stores that don’t yet support app bundles
When should I build app bundles versus APKs?
The Google Play Store recommends that you deploy app bundles over APKs because they allow a more efficient delivery of the application to your users. However, if you’re distributing your application by means other than the Play Store, an APK may be your only option.
read more from the docs
You can split apks with this command
flutter build apk --target-platform android-arm,android-arm64,android-x64 --split-per-abi
I am new in Flutter Development and i have developed an app with Webview.
I have upload an apk on Google Play Store that is accepted but for App Store it shows some error.
Please find below error,
ITMS-90338: Non-public API usage - The app references non-public
symbols in Frameworks/Flutter.framework/Flutter: _ptrace. If method
names in your source code match the private Apple APIs listed above,
altering your method names will help prevent this app from being
flagged in future submissions. In addition, note that one or more of
the above APIs may be located in a static library that was included
with your app. If so, they must be removed.
For this error i have search many things but i am unable found any solution for this.
So please any one who is capable of solving this please help me to resolve this.
Thanks & Regards,
This happens if you are submitting the debug version to the AppStore, Flutter team recommends you to first run
flutter build ios --release
before archiving your app in Xcode.
First make sure you are submitting a release build with flutter build ios --release
If that's not the problem here you could find similar problems related:
flutter build ios --release may use a debug Flutter.framework by mistake
In my case, I updated my Mac to 10.15(Catalina), while the update my cocoapods installation wasn't there. So whenever I try to upload using the command flutter build ios --release and archiving it. Apple sent me the same email you received.
You can install cocoapods using the following commands.
step 1 Open terminal
step 2 command: sudo gem install cocoapods
step 3 set your project path on the terminal.
step 4 command: pod init
I hope it helps.
I finally finished writing my application (Mac + AndroidStudio) and I only have green check on each of my files.
Finally ... I tried to launch the build appbundle by following the guidelines described on the Flutter website.
I have the impression to have done by Google .... I site the result on its search engine: Futter Beautful native apps in record time.
Ok for the beautiful native apps but for the record time ... it's only for writing?
Since I am not a pure coder, I can not build the appbundle. I spend my time doing research on the net and I see that I'm not the only one. Same on Stack Overflow.
Question (to you dear coder friends and possibly to them Google coders): Is there a clean and safe way to generate the appbundle?
(I had less trouble on my first app with xcode at the very beginning of the swift !!!)
Good luck to all. Thanks to Stack Overflow who sharing solutions ....
type flutter build appbundle in terminal in your project directory
sorry.
To precise :
Project flutter built with AndroidStudio on Mac OS Mojave.
All my Flutter files are validated in green in AndroidStudio.
I followed step by step the tutorial Flutter page to deploy my application to build the necessary file to Goole Play Store.
I only use url_launcher and flutter_localizations. The pubspec.yaml is up to date.
My app works great on my smartphone when I launch the app. from AndroidStudio.
Is it common that this is not enough for the launch of the build to be successful?