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

and*_*dev 32 android package

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

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

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

提前致谢.

Par*_*ani 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".在这种情况下,建议的约定是添加下划线.例如:

在此输入图像描述

  • 最新的软件包名称在Android Studio中无效,请参阅[问题65570](https://code.google.com/p/android/issues/detail?id=65570) (4认同)

use*_*305 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
Run Code Online (Sandbox Code Playgroud)

  • 是否允许使用破折号和下划线? (2认同)