我在Eclipse / ADT中构建了许多不同的Android应用程序,它们共享公共代码和资产。共享公共源代码文件夹很简单,因为我可以在Build Path设置中使用Link Source
。这很有效。
这些程序还共享资产文件夹中的内容。目前我正在重复,这有点不优雅且容易出错。
是否可以告诉Eclipse / ADT以类似的方式使用公共资产文件夹,以使它共享源代码文件夹?我找不到任何类似的选项或工具。
注意:
我不正在寻找'图书馆'解决方案(的确如此) 无论如何都充满了问题,我之前尝试过,然后点击 像this之类的问题。在任何情况下都不太相关 资产,我正在寻找简单。
共享资源文件夹是否必须包含a无关紧要 所有应用程序需求的超集。
资产。不是“资源”。
我正在使用ADT 22.2版
由于许多复杂的原因,象征性地链接文件夹是不够的。 (你不想知道细节。无论如何你永远不会相信它们。)
答案 0 :(得分:1)
共享公共源代码文件夹很简单,因为我可以在Build Path设置中使用Link Source
我不会指望长期工作。
目前我正在复制,这有点不优雅且容易出错。
唉,鉴于您的其他限制,我怀疑这是您唯一的选择,尽管您可以采取一些措施来减少容易出错的方面(例如,同步内容的脚本)。
长期来看,Gradle for Android将成为所有版本的唯一真实答案,包括Eclipse。那时,我希望你的“链接源”会破裂。但是,那时候,您应该可以切换到Gradle以进行构建。
Gradle允许开发人员覆盖各种目录的默认位置,包括assets目录。您应该能够设置一个build.gradle
文件,该文件指向资产目录的某个公共位置,覆盖查看项目本身内部的默认位置。
目前还不清楚为什么你认为符号链接/硬链接不适合作为权宜之计。您可能希望考虑单独询问StackOverflow问题,解释您尝试过的内容以及您使用该技术遇到的问题,无论您认为我们是否会相信它们。
请记住,虽然Eclipse处理Android构建的javac
步骤,但其他所有步骤都主要由外部工具(例如aapt
)处理。那些将仅仅存在于Eclipse-land中的东西。相反,这就是为什么符号链接/硬链接应该起作用的原因,因为从这些工具的角度来看,这些项目应该被视为与文件系统中的实际文件相同。因此,“链接源”工作的原因并不是因为Android确实支持它,而是Android目前将该构建的一部分委托给Eclipse本身。一旦谷歌为Eclipse添加Gradle for Android支持(我希望将在2014年底之前),那么我希望Eclipse完全不受构建过程的限制,我希望“链接源”在此时失败。