2013-04-16 37 views
4

我已经看过,
- >创建的Android项目(http://developer.android.com/training/basics/firstapp/creating-project.html
- >独特的软件包名称(http://docs.oracle.com/javase/specs/jls/se7/html/jls-6.html#d5e6484如何命名正确的包名?

我有一个域名 “280w.info”。我刚刚开始Android编程。

  1. 我认为包名是“info._280w。(project)”。所以,我创建了“info._280w.Utest”。
  2. 单击“调试测试”作为Android应用程序。午餐Android模拟器。
  3. 控制台出错[2013-04-16 21:52:26 - Utest] Installation failed due to invalid APK file!
  4. 我检查了logcat。并发现错误。 04-16 12:52:37.273: E/PackageParser(505): parsePackageLite error: <manifest> specifies bad package name "info._280w.utest": bad character '_'
  5. 接下来,我查看PackageParser.java(/platform/frameworks/base/+/master/core/java/android/content/pm/PackageParser.java)。
  6. 我找到了验证码。 if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) { at 767.

这段代码对于Java的Unique Package Names规则是错误的吗? 或者,我猜错包命名?

+0

很好看的人使用规格。虽然下划线是官方解决方案,但Android的工具不足。使用'info.xxcccw'(拉丁编号)。 –

+0

感谢您的意见。好的,我会用小写字母。 – nanariya

回答

3

简短回答:使用Android识别的任何包名称。

参考Android的基础知识,

一般最好的,如果你使用的是与你的组织的反向域名或发布者实体

和Java文档开头的名称,

在某些情况下,Internet域名可能不是有效的软件包名称。下面是一些建议为处理这些情况约定: (http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html

他们只是建议,没有严格的规定,也不规范。

实际上,有很多应用程序的包名称不是以Play商店发布的反向域名开头的。没有域名部分检查,Android和Google Play Store只检查整个包名,因此几乎没有名称空间发生冲突。

1

我认为问题是下划线,但我不知道你可以尝试:info.280w.projectname来代替。

+0

感谢您的回答。我尝试Package Name是“info.280w.projectname”,但它不能创建项目。 - >'280w'不是有效的Java标识符。 – nanariya

+0

好吧,这不是我所期望的,也许你可以尝试:info.two80w.projectname,而不是你的域名等于包名称前缀。(抱歉我的英语不好) –

+0

我想如果其他人会得到two80w.info,它会重复。命名为包名是否安全? – nanariya