Has google toughened the restrictions for manifest package name? - android

There is an application (already published to the Play Store) that has package name, that doesn't fully conform to the Java naming convention (like CompanyName.ApplicationName).
Today, I was unable to publish updated version to the Play Store because the Developer Console complains about bad package name of the uploaded APK. Existing package name only contains letters and does contain a dot, so the only reason for rejecting it that I can think of is package name starting with the upper-case letter. It does match the previously used package name.
Can it be the case? Are there are some recently implemented restrictions for package name?
edit
The error I'm getting is
The package name of your apk (CompanyName.ApplicationName) is invalid. Package
names must start with a character and can only contain characters,
numbers, underscores and dots. They must have at least one dot, cannot
end with a dot, and cannot contain any runs of more than one
consecutive dot.

I had same problem. Upload your apk in the new Developer Console.

You need 3 parts like org.meredrica.demo in your classpath to be compatible with android guidelines.
also you want to make it all lowercase, since they are case sensitive and capital names like that indicate classes (at least by convention, i'm not sure if its technically enforced)
So if i see something like CompanyName.ApplicationName I expect a class called CompanyName that contains a subclass ApplicationName.
You also might want to run android lint on your project.

I had the same problem while updating the apk file for an app with a package name of the form Aaa.Bbb.Ccc.Ddd, and Leon's solution worked. Though I did not understand it when I first read it.
What he meant is, in Google Play Android Developer Console, click the "Try the new design" button at the top right (which points to play.google.com/apps/publish/v2) to switch the web interface to a new layout. Uploading the apk in the new web UI works for me.

Related

Android Package Name With 2 Parts Instead of 3

Might there be any issues in having a 2 part package name rather than the prescribed 3 part com.example.appname?
For instance, my app and company name are both named adamsapp. Ie:the package name would be app.adamsapp.
I do not see any documentation from Android or the Play Store that warn against such use of a package name. I'm currently using this convention in both Android Studio and Firebase without any warning or error messages.
According to Android documentation, You can use application id as follows
It must have at least two segments (one or more dots).
Each segment must start with a letter.
All characters must be alphanumeric or an underscore [a-zA-Z0-9_].
This means you can also use 2 part package name like app.adamsapp in your application. There will be no problem except uniqueness. Anyway, due to this issue, you cant use _ as starting of the package name

Android - Change package name of live application

I have one application which is already live on google play named 'Moodlytics'.
https://play.google.com/store/apps/details?id=AnantApps.Moodlytics&hl=en
Currently its package name is 'AnantApps.Moodlytics'.
(I know its not good practice to use capital letters for package name)
Now I am going to give an update to my application.
So my question is : Can I use 'anantApps.moodlytics' (all with small letters) as package name instead of the original one? Will current live application will be affected by this or not?
No you can't, look here: http://android-developers.blogspot.nl/2011/06/things-that-cannot-change.html
Because the package name is an unique name of you package and android cannot determine if it belongs to your older package name. And so it treats it like if it were another app.
Unfortunately, you cannot "update" your application with a different package name. The package name of an application is case sensitive.
Once it's published, you can't do anything about it.
See : http://android-developers.blogspot.fr/2011/06/things-that-cannot-change.html

How can change name of project and package?

I am developing an Android application named "English SMS Collection" in Google Play store, and now I want to upload this app in Hindi language also. So what changes are required to previous APK?
How to add another language to an Android application? And also what image size icons are required for uploading the app to market?
Any help would be appreciated.
Generally, splitting the same app into two functionally equivalent versions with different languages is a bad idea.
If you absolutely must do that, the only thing you need to change is the package name (package="com.example.project") in your AndroidManifest.xml (no need to rename actual packages, just that one string in manifest).
Also, if your Activities are declared relatively to app's package (e.g. .MyActivity as opposed to com.mypackage.activities.MyActivity) - and they most likely are - changing app's package name will obviously cause FCs because you effectively rename the activities. So to be able to switch the package name back and forth you'll have to detach Activity names from app's package by declaring them absolutely (e.g. com.mypackage.activities.MyActivity)
Here's a comprehensive guide on icons from Google, next time please do more research before asking such simple questions: Iconography
Also, judging by the question, you'll probably want to also read into this: Publishing Checklist for Google Play
Please DO NOT split your app up into two apks just because of the language. This is very bad style.
According to the android devleoper's guide, it's best practice to create ressource-folders with so called "configuration qualifiers". Your strings (e.g. text) should all be stored in the file /res/values/strings.xml . This is the default setup (without a configuration qualifier), when adding localized translations you have to create a new folder and strings.xml file /res/values-cc/strings.xml where cc has to be the standardized country/language code (e.g. "en" for english, "de" for german, "cs" for czech...).
For more (essential) informations on this, visit developer.android.com/guide/topics/resources/localization.html .
You need to change the package name because it should be unique while uploading in market. It can be signed with the same keystore file you have done for other two apps. Obviously, you have to change the Application name and its icon.
For more Information on Publishing Checklist for Android Apps, check this documentation.
In a Package Explorer, click on the package name (e.g: com.example.android), right-click and go to Refactor. Choose the Rename... option there.

When updating an Android app does the APK need to be named the same as the original?

I'm updating my app and I just wanted to know if the apk needs to be named the same as the original one that I uploaded. I'm pretty sure the answer is 'No', but just wanted to check as I can't find an explicit answer anywhere.
The only things that must match the original app are the package name and the signing keystore. Other than that, you can change anything you want, including the name of the apk file (Google Play will rename it on its servers anyways).
You will also need to increment the version code (the version name may stay the same)
As far as I know the key and the package name in your manifest should be same for each update , apk name should not matter.

Change Market name

I'm new to publishing Android apps. Our app's name and the string that users should search for to find it on the Market is Eksjö
When I first uploaded it, the upload form suggested the name Eksjo (the name of the project, since Eclipse/Android SDK disallows deviant characters in the project name). Sadly, I accepted this and noticed it could be found (since the word is unique and is in the description, presumably), but that the Market name was Eksjo.
I edited the upload form, only changing the App name to Eksjö, but this did not change the Market name. Perhaps I was impatient, and an hour or so later it would have changed?
Anyway, I went back to Eclipse to change the :label (which I've since learned has nothing to do with the Market name), but it was already set correctly.
The best thread I've found on the subject is this: http://groups.google.com/group/android-developers/browse_thread/thread/b1a6ad78ce584a40#
I've come up with 3 ideas so far:
It says that the app Title can only be set from the Developer Console, but I can't type anything in the Console tab containing the console messages. (Am I barking up the wrong tree? Intuitively, I would think that typing setTitle('Eksjö') would only change the title of the current or possibly the main view of the app at runtime?)
The other alternative would be to upload an upgrade, where basically nothing has changed but where I can hopefully type a new Market name in the upload form. The question is whether this changes anything at all.
The third alternative would be to upload a completely new identical app, but with the correct Market name. But to do that, I'd have to change the package names (and sub-names, ie. com.whatever.common, com.whatever.viewname1, etc.) Can I do that with a refactor or do I have to manually rename all the views and includes?
Which one is the ticket, 1, 2, or 3?
I think 1 is your answer. and this can occour by changing the default string appName in your strings.xml file to the one you want. Also changing the market name and icon takes some time so just wait for the data to populate.

Categories

Resources