有没有人知道一种聪明的方法,理想情况下使用Eclipse / ADT工作流,根据它是调试还是发布版本(即在Eclipse中是应用程序是运行还是导出)将特定资源应用于项目?我们一直遇到的常见用例是API密钥(如Maps)。将项目设置为专门为所有调试字符串设置strings.xml文件,然后为所有发布字符串分别设置一个项目将非常棒。
有没有办法做到这一点而无需转向ANT或Maven风格的建筑?
答案 0 :(得分:2)
虽然这不是您要求的,但我强烈建议您自动发布版本,因为您希望每次构建时都保持一致和正确。
对于开发,您可以在这种情况下继续使用Eclipse工作流。对于我自己的应用程序Rainy Days,我在ant build中切换了debug vs release map键。我已经在字符串资源中设置了映射键,并在ant构建中替换了该字符串。然后我使用Jenkins构建版本,如果构建成功,则从Jenkins获取受祝福的apk。最棒的是,您可以通过自动化方式进行单元测试和设备安装测试,从而进一步实现构建自动化。
恕我直言,您不应该在代码中检测调试版本,因为它会增加更多代码路径并使您的代码更复杂,甚至在某些情况下会在运行时引入开销。