Java 包名称和冲突

标签 java android

一个简单的问题,但我意识到我不确定这个问题的答案......

如果我正在创建一个带有库包的 android 应用程序

com.example.one

然后我创建另一个应用程序并包含另一个名称为的包

com.example.one

它有一个稍微重构的类,这会导致任何一个应用程序出现问题吗?

我问的原因是最近我遇到了一些谷歌源代码的问题,这是因为设备制造商在我的 apk 中使用的自定义操作系统中包含了相同的库,但事实并非如此快乐的! (或者有人告诉我)

如果有人可以在这里填写,因为我显然不明白这里的一些基本知识:)

谢谢

编辑: 关于 Android 和 Java 包名称差异的一个很好的链接 http://blog.javia.org/android-package-name/

最佳答案

类加载器不能加载同一个类的两个版本。它只选择一个。但是选择哪一个是不确定的。所以是的 - 它会带来麻烦。

某些平台 (java-ee) 可以选择为这些情况指定 jar 优先级。我不知道安卓。

更新:如果我最初的理解不正确,即您在类路径上没有两次使用相同的 jar(库),而是启动 2 个具有不同版本的 jar 的独立应用程序 - 那么它们不会干扰彼此(因此没有问题)

关于Java 包名称和冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4335792/

相关文章:

java - 定位 S+(版本 31 及更高版本)需要指定 FLAG_IMMUTABLE 或 FLAG_MUTABLE 之一

java - 具有非常具体要求的高性能、无锁 Java 集合

java - 如何将列表中的get(0)转换为常量并获取值

java - 需要帮助读取文本文件中的 2 位数字

android - Facebook 受众 SDK

android - 在 Android 上存储数据以供离线访问

android - 应用内计费不起作用 : "IAB Helper is not set up"

java - Spring MockMvc : match a collection of JSON objects in any order

android fragment check send mail finish(android show dialog when mail send success)

android - Android AnimationSet 是否会覆盖子动画的持续时间和插值器?