When publishing apk to Google Play, some localizations got removed - android

I'm suddenly getting this difference from the previous version when trying to upload a new version of my app to Play:
I use only default string values, most of them hardcoded, as my app only supports one language so far.
Anyway, I haven't changed anything related to locales/languages to this last update.
when googling about this, the only reference I fount was this link. I was using an outdated version of facebook sdk, but updating it didn't brought my Localizatons back... alse I don't use Corona SDK...
how will this affect my app's distribution? Is it like fewer people will have access to it? Or users will get some screens in the wrong language?

I had the opposite effect (like Seth said) after adding the "Google Play Services" library to my project. Maybe you removed this or another library (that had supported all of this languages) from your main project.

Related

com.segment.analytics.android:analytics noncompliant version in my app on the Google Play Console

My app is written on android native code and I got this warning on the play store console
Your app "appName" version code "xxxx" includes SDK com.segment.analytics.android:analytics or an SDK that one of your libraries depends on, which collects personal or sensitive data that includes but may not be limited to Advertising ID, Android ID identifiers. Persistent device identifiers may not be linked to other personal and sensitive user data or resettable device identifiers as described in the User Data policy.
ACTION REQUIRED: Upload a new compliant version AND deactivate the noncompliant version.
But I don't have that library on my project, the only libraries related to firebase that I have are these:
"com.google.firebase:firebase-crashlytics:17.4.0",
"com.google.firebase:firebase-analytics:18.0.2",
"com.google.firebase:firebase-perf:20.0.2",
"com.google.firebase:firebase-core:18.0.0",
"com.google.firebase:firebase-auth:20.0.1",
"com.google.firebase:firebase-messaging:21.0.1",
But I don't know how to solve this, should I update all of them and upload my app again and check if I received this warning again or not to see if it was solved? I need to solve this because I won't be able to upload more app versions in the following months.
Thank you for being so helpful, it's really appreciated.
Some people have asked me if I solved this, and the short answer is yes, I did. Unfortunately, nobody gave me a specific answer about how to solve it, and the problem is that I think I used a bazooka to kill a fly.
The process for solving this was this:
I updated all Firebase dependencies, I was using these:
com.google.firebase:firebase-crashlytics,
com.google.firebase:firebase-analytics,
com.google.firebase:firebase-perf,
com.google.firebase:firebase-core,
com.google.firebase:firebase-auth,
com.google.firebase:firebase-messaging
I update them using firebase-bom version 30.3.2
Also, I updated other google dependencies, I'm not 100% sure that this affected the solution, however, I want to document all just in case you are also using them, and you can consider it out.
com.google.android.gms:play-services-auth:20.2.0,
com.google.android.gms:play-services-auth-api-phone:18.0.1,
com.google.android.gms:play-services-analytics:18.0.1,
com.google.android.gms:play-services-base:18.1.0,
com.google.android.gms:play-services-location:20.0.0,
com.google.android.gms:play-services-maps:18.0.1
After using these versions, I uploaded the new build and did not see the problem again in the Google console for this version and later
Sorry for not being specific in the needed dependency to be updated, I didn't have a chance to test the combinations to discover them.

Do I need to save my old project after I change the version name?

I am working alone using Android Studio to make an android application, and I am completely new to the idea of versionName, and while I understand the principle of it, I do not know how it is used in developing.
My questions are:
1: While i'm developing my app does it make sense to increment my versionName?
2: If I change the versionName and make some changes to my project will Android Studio automatically save the old project's information under the old versionName, so that I can revert back to that if I don't like my changes?
3: When I have released an app, in for example Google Play, and I update the app with a new versionName do I need to save the old app version myself? If so, what is the best practice for saving older versions of your apps?
I normally increment the version number before I do a new release to publish. I usually use the format of x.x.x (major.minor.bug fix). For example, if your version is 1.0.0 and you do a bug a big it, it becomes 1.0.1. If you add a new feature but the app isn't drastrically different, it becomes 1.1.0 or if it its a really big upgrade with lots of new features, fixes, enhancements etc, then upgrade the major version so it becomes 2.0.0.
The version name is only in reference to what is displayed to the user in the Play Store when you publish your app.
If you want to have some sort of version control for easily reverting back changes and/or to see this history, you need some sort of version control system, such as SVN (Subersion) or Git (not necessarily GitHub).
You didn't specifiy whether you just want to keep the previous release of the APK (the APK is the file that is given to the play store and is the installer for your app) or the source code. If its source code, then using a version control system is your best bet, you'll be able to go back to specific points in time (as long as you keep committing your changes on a regular basis), and if you tag your code then you'll be able to go to a specific release. The idea of tagging is, you take a snapshot of your development code (the trunk or head its referred to as) and tag it (snapshot it) as the version you are releasing to the play store.
If you want to just keep the APK, then I usually just copy the APK some locally or on Google Drive or something when I create a new release build to give to the play store. Although I can't fully remember but I think the play store now lets you download previous APKs that were uploaded.
I'll try to answer the questions you asked which have not been answered yet.
But before, a brief explanation. Your application has a version in order to differentiate it and understand which features are implemented in the application. When you publish your application, a version is displayed, so that when you make changes, you can state which changes occurred since the last version.
When developing your application, you can initially create a version, I.E. 0.0.1 or 1.0.0. You don't have to change it with every little change you make within the application before actually publishing it.
I don't think AS will save older versions of your code.
When you publish an application to the Play store, you must provide an APK, which has a version. The next time you want to publish your application, because you made several changes, the newer APK will have a different version. I think your dashboard in the Play store will have all your older APKs.
You can read about Semantic Versioning.

Google Play Developer Console shows localizations have changed in my APK since last update

I've just updated my application, and it's a regular bugfix update, without any added removed localizations or permissions. My app only supports English and Turkish.
However, when I've uploaded my APK, I've got this:
It shows that I've added 6 new localizations (which I haven't) and removed one permission (which, again, I haven't).
In the contest of configuration, I've updated some libraries with newer versions, removed some unused libraries, and changed some ProGuard settings.
Is this normal? I've seen Play Store app localization but I'm not really sure if it's the same issue as I've played with ProGuard settings (which shouldn't normally affect localizations after all) and there's also a permission removed, in contrast to that question.
It appears to be related to SDKs that I'm using. Those changes are introduced by the updates to the SDKs that I'm using (e.g. Facebook SDK), and had no impact on my application.
I know this is too much late for answer this question.
But recently i have passed through the same scenario.
I have updated my apk with older targetSdkVersion 22 which is not matched with my previous updated apk which was 23 on play store.
I have changed it to previous one and it solved that issue.
Hope this will help to someone else.

How can i use older version of google play services?

I'm using Google Cloud messaging through google play services. The things is it only works on the devices with last version of play services installed, in remaining devices i need to show a dialog to send user to google play to install new version witch i really don't want to do!
So how can i avoid this?! I'm trying to use an older version of play services (lets say from 2 years ago) to insure majority of my users don't need to update but it seems impossible with grade and android sdk since it already deleted older versions! So what should i do? Is there any way to use older versions?! and if do find a way to use an older version are newer versions compatible with older one?
I don't want to force my users to update because
GCM it's not essential to my app although i like to have it!
It's over 30 MB witch is a lot in third world countries were my users are.
Google play blocks some of my users from accessing google play due to international lows! and i have to do update manually my self!
There is a solution for android studio:
1.Close your project
2.Browse to the folder where your projects has been saved
3.Go to folder 'app' and open the file 'build.gradle'
find this line :
compile 'com.google.android.gms:play-services:7.3.0'
and change the version (here 7.3.0) to an older one (like 6.5.87).
You can find out available versions by looking at sdk/extras/google/m2repository/com/google/android/gms/play-services
5.open the project again
Unfortunately Google Cloud Messaging was only added to the Play Services API in version 7.5, which was released end of May 2015 (see this Android Developers Blog post).
So, if you manage to find a copy of the v7.5 API (see my question regarding that here) or if the suggestion above by #Babak is safe (still investigating that one... and you can only go down to 7.5.0 before you lose GCM support), you might be able to gain a few months, but it will likely not make a huge difference...
Actually, I just noticed that your question was also posted end of May... So you probably won't be able to gain anything. But you may reduce support of you move to a new API version later!

Google Play install error - Missing shared library

I have an app with 100k~ downloads on Play, which I started to develop like a year ago. Back then, it had the default crappy android UI. A month ago, I decided to include the ActionbarSherlock+HoloEverywhere libraries, so it could provide a much better user experience, with the Holo UI. Here comes the problem.
I got a few user reports, that they cannot update, since Play is keep telling them, their device is incompatible with the app. NOTHING changed besides adding and using the above mentioned libraries, so their device SHOULD still be compatible with my app. Here is what I know, and tried so far, including reports from the most helpful user, who cooperates with me, and want to use the app.
his old device broke, so it got replaced, and he couldn't install the updated version
on the new device, he can't install the old versions, which he could on the old device
the mentioned device is an atab5 MTK6577
the minimum API level is currently 8 (Android 2.2)
my app requests the following permissions:
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_NETWORK_STATE
android.permission.INTERNET
the features the device has to got are the following:
android.hardware.LOCATION
android.hardware.location.GPS
android.hardware.TOUCHSCREEN
I found a nice tool (http://codekiem.com/2013/02/13/market-helper/) , which I asked the user to try if he can trick Play to install the app, he did, and the app finally installed
after the installation, he got a new error message, "Missing shared library", so he still couldn't run the app
after some research, I found that some device may not have proper Google Maps api, or something like that, but it can be fixed by adding Google Apis to the apk, by explicitly adding Google Api to the Build path
I sent him the newly compiled apk, the new error message is: "Application not installed"
the user has problem with more apps, not just mine, typically with apps that uses GPS, and I guess Google Maps too, so it may be a device fault
as a side-note, I am using standard MapActivity, not the ActionbarSherlock mapactivity, but since the problem is there for the old, non-holo version of the app too, it shouldn't matter
Is there any way for me, to solve the issue on my end? I dont really care, if he still won't be able to run another apps, if he can use mine. Of course, if all his problems would be solved, that is the best case, but my priority is, can I add something to my apk? Or, what is the problem here? A corrupted Google Maps?
Thanks in advance, cheers
after the installation, he got a new error message, "Missing shared library", so he still couldn't run the app
This will come from some <uses-library> element in your manifest.
but it can be fixed by adding Google Apis to the apk, by explicitly adding Google Api to the Build path
Um, no, that will not work.
Is there any way for me, to solve the issue on my end?
Other than by switching to something like OpenStreetMap, no.
A corrupted Google Maps?
More likely it is a device (or ROM mod) that has pirated versions of various Google apps, such as Google Maps, and therefore did not set up the Maps SDK add-on properly.

Categories

Resources