following warning showing me . what is the reason how can solve it please help me. what we missed at the time of publishing app
Unoptimized APK
Warning:
This APK results in unused code and resources being sent to users. Your app could be smaller if you used the Android App Bundle. By not optimizing your app for device configurations, your app is larger to download and install on users' devices than it needs to be. Larger apps see lower install success rates and take up storage on users' devices.
Resolution:
Use the Android App Bundle to automatically optimize for device configurations, or manage it yourself with multiple APKs.
Google requires apps to be build/delivered as Android App Bundle (AAB). You can use APK for testing, but not for releasing to the Play Store anymore.
https://developer.android.com/guide/app-bundle
Related
Deploying a Kivy app to Google Play Store is a true pain. I spent over a week now trying to deploying the app to the Play Store, whereas I spent only 5 days developing it.
After managing to overcome all problems during the build process with buildozer, I'm facing now another problem when I want to deploy my app to google store. This is the warning I'm getting:
Unoptimised APK
Warning:
This APK results in unused code and resources being sent to users. Your app could be smaller if you used the Android App Bundle. By not optimising your app for device configurations, your app is larger to download and install on users' devices than it needs to be. Larger apps see lower installation success rates and take up storage on users' devices.
Resolution:
Use the Android App Bundle to automatically optimise for device configurations, or manage it yourself with multiple APKs.
I know It's just a warning, I can ignore it right? I thought so too, but google store is not allowing me to deploy my app. So I must somehow solve this issue so that I can finally deploy my app in peace.
Here are the steps I'm making to build my app:
I followed all these steps (signed the app with key etc...)
I even tried using jarsigner as an extra step since the steps above didn't work
I also tried using zipalign to "optimize" my app
But none of that worked. Still google store is saying I need to make a bundle android app. But I'm using kivy/python so I can't use android studio to make a bundle and I can't find in buildozer docs how I can do this or if it is supported.
My app size is 28 MB, I even tried to remove some necessary stuff just to see whether it will work. So I reduced the size to 14 MB but that didn't work either. It's really frustrating. Building apps is fun while coding but the deployment process is real headache.
Here is a link to my app in case you want to play with the code or see the buildozer.spec file. I lost hope of uploading it to Play Store, hence I open sourced it.
Edit
here is how the google play console looks in my case:
This is the first tab, where I upload the app:
This is the second tab, where I should review and then release (notice here that I can't press the roll out to production button):
As you guessed, the message you're seeing about using AAB is just a warning, it doesn't prevent you from releasing the app. You're far from the first person to be confused by it though, the google interface is quite unclear.
The actual problem is that you need to make sure all the essential information is filled in on every page of the app store configuration. In your screenshot above, pages that have been completed are marked by a green circle with a check mark. In contrast, the "Store Listing" page only has a greyed-out check mark, indicating that you need to add something there before you can release the APK.
As discussed in comments, it turned out that the missing thing was screenshots of the app, and after adding them it could be released successfully despite the warning message.
So, I am trying to upload my first app in the Play Store.
I didn't opt for Google Play App Signing option but I still get the following warning when reviewing my app's release:
Unoptimized APK
Warning:
This APK results in unused code and resources being sent to users. Your app could be smaller if you used the Android App Bundle. By not optimizing your app for device configurations, your app is larger to download and install on users' devices than it needs to be. Larger apps see lower install success rates and take up storage on users' devices.
Resolution:
Use the Android App Bundle to automatically optimize for device configurations, or manage it yourself with multiple APKs.
I don't want to use the Android App Bundle so...
I tried to upload 2 different APKs with the same Version Code, I
receive an error as such I can't upload same Version Code APKs.
I uploaded 2 different APKs with different Version Code, I receive a warning as such the APKs with the oldest version codes will be omitted.
So, how the heck should I make this work out. LOL??
Thanks for any advise,
The warning can be ignored. So as long as you don't see any error in red, you can create a release. However, you will need to fill out all required infos for the play store page and your app content first.
I found it quite confusing since on the "releases" page, you don't see any indication that the store page must be filled out first. If you filled out all the information, you will see a checkmark next to this entries in the play console:
I am clicking review on my APK, but I am getting this message:
Unoptimized APK Warning:
This APK results in unused code and resources being sent to users.
Your app could be smaller if you used the Android App Bundle. By not
optimizing your app for device configurations, your app is larger to
download and install on users' devices than it needs to be. Larger
apps see lower install success rates and take up storage on users'
devices.
Resolution:
Use the Android App Bundle to automatically optimize for device
configurations, or manage it yourself with multiple APKs.
However I can not move forward. My app is only 5.19MB, so how do I fix? I am using Phonegbap to build my apps.
This is because you're generating an Apk instead of App bundle
You can read more about App bundle here: https://developer.android.com/guide/app-bundle/
Just finish other sections for the app: "Content Rating", "App Content" and "Pricing & distribution". Publishing function should be available after that.
Warnings
Check these warnings before starting the rollout of this release. Addressing the warnings on this page will ensure your existing users are able to upgrade to the latest version of your app.
How i can fix that in android studio?
Unoptimized APK
Warning:
This APK results in unused code and resources being sent to users. Your app could be smaller if you used the Android App Bundle. By not optimizing your app for device configurations, your app is larger to download and install on users' devices than it needs to be. Larger apps see lower install success rates and take up storage on users' devices.
Resolution:
Use the Android App Bundle to automatically optimize for device configurations, or manage it yourself with multiple APKs.
You don't need to do anything with that. Its telling you that you have assets for multiple screen sizes being sent to users, and that they'll only use one of them. You can make your apk smaller by building and uploading multiple apks, but unless you have a very large apk its probably not worth the time/effort.
If you're not able to upload it at all, you're missing another error somewhere else.
The code is practically the same, I just added one class, is it because when the Bundle is installed in a device just a part of it is going to go to that device and its size is going to be lower?
From the docs
Google Play’s Dynamic Delivery uses your Android App Bundle to build
and serve APKs that are optimized for each device configuration. This
results in a smaller app download for end-users by removing unused
code and resources needed for other devices.
So basically apk will be build using Dynamic delivery which will combine only necessary resources and will ensure that the build installed on particular design is optimized. There is no mention that bundle size is smaller, but it ensures that download size for end user will be less.
Also this a good article to refer to.
Mentionig some key points mentioned in it
Step 1: You write all your code for your app in an IDE such as Android Studio or a games engine such as Unity as you normally would.
Step 2: Now, when you’re ready to test or release the app, you build it as an Android App Bundle, Android’s new app publishing
format. You still sign the app so that Google Play can verify it’s
from you.
Step 3: If you haven’t already, you opt in to app signing by Google Play. If you’re releasing a new app, you can do this in a one-click
process when you upload your app. When you opt in, Play designates
the first key you used to sign your app bundle as the upload key.
This is just for security identification purposes and, if you ever
lose it, you can contact Google to verify your identity and reset
it. For existing apps, you need to visit the app signing page in
the Play Console and securely transfer your app signing key to
Google Play. Why do you need to do this? Continue to step 4 to find
out.
Step 4: When you upload your app bundle to Google Play, Play processes it and generates split APKs signed with the app signing
key for every possible device configuration and language that you
support. Split APKs are an Android platform feature introduced in
Android L. As long as each split APK is signed with the same key,
the Android platform will treat them as one app. You can think of a
split APK as ‘part’ of an APK: to run the app, the device treats
all the parts as a single app.
Step 5: When a user installs the app, Play delivers the base split APK (all the code that’s common for every device), the language
split APKs (for the languages the user speaks), and the device
configuration split APKs (for the device’s screen size and the CPU
architecture). This means the device gets just what it needs without
wasted space. For updates to be accepted by the device, every
release’s split APKs must be signed with the same app signing key as
the original app install.