什么应该是Android应用程序的包名称?

时间:2011-11-10 04:55:02

标签: android package

我想知道android应用程序的包名应该是什么?通常我们使用com.appname或com.organizationName.appName,但是当我们将我们的应用程序提交到市场时,有时它会显示与包名相关的错误 - 请更改包名称。它不应该用com等启动。

我想知道为什么会这么开心?什么应该是Android应用程序的包名称?

如果有人知道这个问题的原因或答案,请告诉我。

提前致谢。

7 个答案:

答案 0 :(得分:47)

如上所述:包名称全部用小写编写,以避免与类或接口的名称冲突。

公司使用其反向互联网域名开始其软件包名称 - 例如,com.example.mypackage for a package named mypackage created by a programmer at example.com

单个公司内发生的名称冲突需要通过公司内的约定来处理,可能是在公司名称后面包含区域或项目名称(例如,com.example.region.mypackage)。

Java语言本身的包以java开头。或javax。

在某些情况下,互联网域名可能不是有效的包名。如果域名包含连字符或其他特殊字符,如果包名称以数字或其他非法用作Java名称开头的字符开头,或者包名称包含保留的Java关键字,则会发生这种情况,例如“int”。在这种情况下,建议的约定是添加下划线。例如:

enter image description here

答案 1 :(得分:9)

Android遵循相同的命名约定,如Java,

命名约定

包名称全部用小写编写,以避免与类或接口的名称冲突。

公司使用其反向互联网域名来开始其软件包名称 - 例如,com.example.mypackage用于example.com的程序员创建的名为mypackage的软件包。

单个公司内发生的名称冲突需要通过公司内的约定来处理,可能是在公司名称后面包含区域或项目名称(例如,com.example.region.mypackage)。

Java语言本身的包以java开头。或javax。

在某些情况下,互联网域名可能不是有效的包名。如果域名包含连字符或其他特殊字符,如果包名称以数字或其他非法用作Java名称开头的字符开头,或者包名称包含保留的Java关键字,则会发生这种情况,例如“int”。在这种情况下,建议的约定是添加下划线。例如:

合法化套餐名称:

       Domain Name                            Package Name Prefix

hyphenated-name.example.org             org.example.hyphenated_name
example.int                             int_.example
123name.example.com                     com.example._123name

答案 2 :(得分:3)

正如您所说,包名称通常采用'com.organizationName.appName'的形式 - 全部小写且没有空格。听起来您在上传应用时输入的包名称与AndroidManifest中声明的包名称不同。

答案 3 :(得分:2)

目前,不允许在app -store中上传以“com.example”开头的包名称。 否则,允许以“com”开头的所有其他包名称。

答案 4 :(得分:1)

包名称是反向域名,它是Playstore上每个应用程序的唯一名称。您不能上传两个具有相同程序包名称的应用。 您可以从playstore网址中查看应用的程序包名称

https://play.google.com/store/apps/details?id=package_name

因此您可以在上传之前轻松地在Playstore上检查此软件包名称是否已被其他应用使用。

答案 5 :(得分:0)

包名称为0可能会导致sharedPreference出现问题。

(好)con = createPackageContext("com.example.android.sf1", 0);

(问题但没有错误)

con = createPackageContext("com.example.android.sf01", 0);

答案 6 :(得分:0)

访问https://developers.google.com/mobile/add并尝试填写" Android软件包名称"。在某些情况下,它可以写错误:"无效的Android软件包名称"。

https://developer.android.com/studio/build/application-id.html中写道:

  

虽然应用程序ID看起来像传统的Java包   name,应用程序ID的命名规则多一点   限制性的:

     
      
  • 必须至少有两个片段(一个或多个点)。
  •   
  • 每个细分必须以字母开头。
  •   
  • 所有字符必须为字母数字或下划线[a-zA-Z0-9 _]。
  •   

所以," 0com.example.app"和" com.1example.app"是错误。