首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android/Eclipse:如何优先处理本地包而不是库包

Android/Eclipse:如何优先处理本地包而不是库包
EN

Stack Overflow用户
提问于 2014-05-31 17:37:56
回答 1查看 139关注 0票数 0

我使用的是Eclipse,我有一个由两个包组成的Android应用程序,一个核心包是应用程序,另一个是设置包,它存储了应用程序的一系列全局设置(例如,应用程序的应用内购买市场密钥)。该应用程序还导入一个库(例如,应用程序内包装器库),该库反过来也使用上述全局设置包的副本。

到目前为止,我是如何通过三个项目来实现这一点的: App、库和第三个用于设置的项目(作为库)。设置库导出为Jar,然后放入库的构建路径中,并从顶层应用程序引用该库,以避免可怕的“多个索引文件”错误(如果我从MyLib引用MySettings项目,就会发生这种错误)。总体而言,它看起来有点像这样:

代码语言:javascript
复制
MyApp (MyLib referenced)
- Core_App_Logic
- Settings

MyLib (MySettings.jar in build path)
- Lib_Logic

MySettings
- Settings

资源的优先级设置正确;将使用MyApp中的资源,而不是MyLib中的资源。然而,虽然MyApp将使用MyApp.Settings包,但MyLib将使用MySettings.Settings包。

这种方法是不是遗漏了什么,或者我应该看一个完全不同的方法?

EN

回答 1

Stack Overflow用户

发布于 2014-06-05 15:13:00

我可以回答我自己的问题,因为我在原来的问题中遗漏了一些被证明是非常相关的信息。最后,这是我犯的一个愚蠢的错误--尽管如此,这个答案将来可能会对其他人有所帮助,因为我确信我不会垄断愚蠢的错误。

从本质上讲,上面的设计没有问题。我的错误出现在Settings类中,例如,我将想要使用和覆盖的各种变量设置为:

代码语言:javascript
复制
public final static String MyVar = "Foobar";

这自然意味着MyApp.Settings.MyVar不能覆盖Settings.MyVar,因为它被标记为final。因此,我在设置中删除了所有设置变量的最后一个标记,MyApp.Settings正确地覆盖了它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23968500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档