Android中的包命名约定是:
com.organizationName.appName
但是如果organizationName或appName以数字或下划线开头,则它将变为无效名称,因为android不接受以数字或下划线开头的单词。
例如:
com.1organizationName.appName
无效
重命名此包的惯例是什么?
答案 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来欺骗你的客户。