Search code examples
androidapp-id

using 'in.' in the android app id (eg. in.example.myapp)


I wanted to know whether I can use 'in.' in in the app id.

For example.. can i create my app id like this

in.example.myapp

As I am unable to create it using cordova CLI. But I have changed it in the config.xml

here is the error i am getting

cordova create MyApp in.example.myapp MyApp -d
CordovaError: App id contains a reserved word, or is not a valid identifier.
    at C:\Users\USer\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\cordova\create.js:106:19
    at Promise.apply (C:\Users\USer\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:1078:26)
    at Promise.promise.promiseDispatch (C:\Users\USer\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:741:41)
    at C:\Users\USer\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:1304:14
    at flush (C:\Users\USer\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:108:17)
    at process._tickCallback (node.js:355:11)
    at Function.Module.runMain (module.js:503:11)
    at startup (node.js:129:16)
    at node.js:814:3

Can I publish such app on play store?

Please reply guys..

thanks in advance


Solution

  • From official documentation:

    A full Java-language-style package name for the application. The name should be unique. The name may contain uppercase or lowercase letters ('A' through 'Z'), numbers, and underscores ('_'). However, individual package name parts may only start with letters.

    To avoid conflicts with other developers, you should use Internet domain ownership as the basis for your package names (in reverse). For example, applications published by Google start with com.google. You should also never use the com.example namespace when publishing your applications.

    The package name serves as a unique identifier for the application. It's also the default name for the application process (see the element's process process attribute) and the default task affinity of an activity (see the element's taskAffinity attribute).

    Caution: Once you publish your application, you cannot change the package name. The package name defines your application's identity, so if you change it, then it is considered to be a different application and users of the previous version cannot update to the new version.

    yes, you can use "in." on it... the "com." thing is like a domain ownership, that's all. Read: http://developer.android.com/guide/topics/manifest/manifest-element.html

    EDIT: This is Cordova documentation

    The element's id attribute provides the app's reverse-domain identifier, and the version its full version number expressed in major/minor/patch notation.

    Is not an Android limitation neither Play Store limitation if is Cordova limitation there is nothing you could do... if not, post the error; but, again... is not an Android/Play Store limitation.