以数字开头的包名称的规则是什么?

时间:2012-08-20 16:59:18

标签: android naming-conventions

Android中的包命名约定是:

com.organizationName.appName

但是如果organizationName或appName以数字或下划线开头,则它将变为无效名称,因为android不接受以数字或下划线开头的单词。

例如:

com.1organizationName.appName无效

重命名此包的惯例是什么?

5 个答案:

答案 0 :(得分:19)

在官方"Naming a Package" java文档中,它有以下声明:

  

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

因此,在您的情况下,它将是com._1organizationname.appname

编辑:刚刚在Android docs中找到了这个:

  

应用程序的完整Java语言样式包名称。名字   应该是独特的。名称可以包含大写或小写字母   ('A'到'Z'),数字和下划线('_')。 然而,个人   包名称部分只能以字母开头。

显然,不是非常Java风格。不幸的是,在这种情况下看起来你最好的选择实际上是拼出数字,例如com.oneorganizationname.appname

答案 1 :(得分:2)

命名约定仅用于帮助您为Play市场创建唯一的包名称。如果您向后使用公司的网站地址(即com.websitename.appname),那么Play市场中的另一个应用程序不太可能拥有它。您可以根据需要为包命名,这样您就可以拼写数字以使其更容易(com.oneOrganizationName.appName)。

答案 2 :(得分:0)

你可以尝试 co.m_1organizationName.appName co.m1organizationName.appName 这样你的包不会荒谬,地址会更有意义。

答案 3 :(得分:0)

请参阅here有关"包"清单中的属性:

  

应用程序的完整Java语言样式包名称。名字   应该是独特的。名称可以包含大写或小写字母   (' A'到' Z'),数字和下划线(' _')。但是,个人   包名称部分只能以字母开头。避免冲突   与其他开发人员一样,您应该使用Internet域名所有权作为   您的包名称的基础(反向)。例如,应用程序   由Google发布,以com.google开头。你也应该永远不要使用   发布应用程序时的com.example命名空间。

     

包名称用作应用程序的唯一标识符。   它也是应用程序进程的默认名称(请参阅    元素的进程处理属性)和默认值   活动的任务亲和力(参见元素' s   taskAffinity属性)。

答案 4 :(得分:-2)

您知道,注册新域名只需5美元。只需注册oneorganizationName.com并使用它。你知道它将是唯一的,你知道它将是一个有效的包名,现在你知道网络钓鱼者和欺骗者不会注册oneorganizationName.com来欺骗你的客户。