android - 如何命名正确的包名称?

标签 android adt

我已经读过了,
-> 创建一个 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 应用程序。午餐安卓模拟器。
  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')) {在第 767 行。

这段代码是否违反了 Java 的唯一包名称规则? 或者,我是否猜错了包命名?

最佳答案

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

引用Android基础知识,

it's generally best if you use a name that begins with the reverse domain name of your organization or publisher entity

和 Java 文档,

In some cases, the Internet domain name may not be a valid package name. Here are some suggested conventions for dealing with these situations: (http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html)

它们只是建议,不是严格的规则或规范。

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

关于android - 如何命名正确的包名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16038309/

相关文章:

android - Retrofit 从基本 url 中删除查询参数

android - 将 2 个视频与 FFmpeg 混合(一个在另一个之上)

android - NoClassDefFoundError 使用 Android 应用程序、Maven 和 Eclipse 开发库

android - 如何解决? "Dex Loader SecurityException: Unable to find field for dex.jar"

android - '找不到 Activity 的兼容 AVD 或设备

android - 一个应用多个品牌

java - 如何在 Activity 中显示购物车图标?

android - Parse.com for Android 应用程序上的多对多关系

android - 更改操作栏的颜色

android - 无效的 key 哈希 facebook android sdk