How do I change my Application name - android

I would like to make a slight change to my application's name. I read that it can work if both applications are signed with the same signature and is given the same userId then they can share information and I can migrate the original application's information to the new one. It is very important that the user gets the notification to upgrade. Will the user receive the update to upgrade if its done this way?

Your users will still get the upgrade, as long as you don't change the top level java package name.

Do you mean the actual name (human readable) or the application package? You can change the name, description, etc. at any time (though it might be confusing for existing users). On the other hand, you cannot change the package name, you need to publish a new app. Unless the current app already has the sharedUserId, set you cannot really use that option: setting it will change the UID and the application won't be able to see its own files. Two solutions to this:
export the data in some shared format (XML, CSV, JSON, etc.)
write a content provider and use a signature permission to make sure only your apps can read from it.

Related

Rename Android App but let users search with old app name in playstore

I would like to rename an App which is already in playstore. Could i do something about, finding my app even when user's type in the old App name instead of new one?
Note : I am not changing the package name of the app.
you could follow the google's answer. Change your app description with your search keywords.
https://support.google.com/googleplay/android-developer/answer/4448378?hl=en
You can use the new name in your source, but in store listing, app name can be as follows:
New Name (formerly Old Name)
After installing the app, a user would only get new app name as defined in the source.
App Name length has been extended from 30 chars to 50 chars, so that should be enough.
This way your app would show up even when the users are searching using the old name.
Another thing is that the users would trust that they are using the same app but with just a different name.

Share data between multiple apps

I have multiple apps that have some sort of in-app currency (i.e gold).
The gold (Integer value) should be accessable through all of my apps. All of my own apps should be able to read/write the value.
It is important that only my apps are able to write the value, it doesn't matter if anyone else can read it.
It's also important that I do not know which of my apps is installed. There is no 'main'-app at all. It should be irrelevant which of my apps is installed and in which order.
The value does not have to be shared between the apps during runtime, I rather thought of something like sharedPreferences or an SQL database.
Where/How should I store this value?
Which is the preferred solution to this problem (if there is any)?
If you need to share data between two (or more) apps, you can set to them the same android:sharedUserId (in AndroidManifest.xml) so the other app can read/write in the private data of the other app.
android:sharedUserId
The name of a Linux user ID that will be shared
with other applications. By default, Android assigns each application
its own unique user ID. However, if this attribute is set to the same
value for two or more applications, they will all share the same ID —
provided that they are also signed by the same certificate.
Application with the same user ID can access each other's data and, if
desired, run in the same process.
Doc here.

change variable value inside app from outside

I want to declare a key inside my code and publish app with this key, then when app is published I want to be able change that key.
But my aim is to have one app and customize it for different users.
Do you have any offer?
May you explain a scenario?
Note : better to say that I want to separate each user's version by a unique key;
1- I can do this : I can change the variable value, publish app and send for user. But I wand to change key value in a published app, not from source code and re-publish.
2- using external file, shared-preference, and other ways, user will loose his version when uninstall app, and I want to avoid it.
You can just declare key in String.xml,
if you want to changes key run time, you have to go with sharedpreference in android, this store data in xml format.
more help visit this link, SharedPreferences : no saving to device, change it inside a packed app!
also this will help you Storage option in android : no storage, it is change value in a compiled app!

How do I get the vendor name for each installed App/package?

I'm writing an App for Android which gets a list of all installed Apps and their details. I get most of what I need with:
context.getPackageManager().getInstalledPackages(0);
What I can't seem to figure out is where I can get the name or id of the vendor who created the package/App.
Any suggestions?
I don't think there is any way to programmatically access that information. In fact I don't think the name of the vendor is stored within the apk file anywhere. The name that shows up as "Developer" in the Market is the name associated with the google account that uploaded the application. I think this value is stored by the Market infrastructure, rather than the application itself. Unfortunately there are currently no public APIs that grant access to the Market data.
If you are not necessarily concerned with the actual human readable name and you just aim to be able to programmatically tell whether the device has multiple applications from the same developer you might be able to glean this from the signature field inside the PackageInfo object that you can get from pm.getPackageInfo(String packageName, int flags); I have very little experience with this though, I could be incorrect.

Android Marketplace: Changing application's package

Any android developers had any success changing the package name of your application (in the manifest) of an application already being distributed in the Market?
During my upgrade progress, I decided to change the package name slightly, which means that android identifies it as a new application. So, I suppose saved preferences will be lost, but I'm really hoping there are no other "surprises" for upgrading users.
Cheers!
It's not that the saved preferences will be lost, it's just that Android will set it as a completely new and seperate program which cannot access the old application's preferences.
However, if you sign your applications with the same signature and and give them the same userId then they can share information and you could migrate the original application's information to the new one.

Categories

Resources