我已经读过了,
-> 创建一个 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 编程。
- 我认为包名称是“info._280w.(project)”。所以,我创建了“info._280w.Utest”。
- 单击“调试测试”作为 Android 应用程序。午餐安卓模拟器。
- 控制台出现错误
[2013-04-16 21:52:26 - Utest] Installation failed due to invalid APK file!
- 我检查了 logcat。并发现错误。
04-16 12:52:37.273: E/PackageParser(505): parsePackageLite error: <manifest> specifies bad package name "info._280w.utest": bad character '_'
- 接下来,我查看 PackageParser.java (/platform/frameworks/base/+/master/core/java/android/content/pm/PackageParser.java )。
- 我找到了验证码。
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/