Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 生成特定于配置的资源(调试与发布)_Android_Eclipse_Adt - Fatal编程技术网

Android 生成特定于配置的资源(调试与发布)

Android 生成特定于配置的资源(调试与发布),android,eclipse,adt,Android,Eclipse,Adt,是否有人知道一种聪明的方法,理想情况下使用Eclipse/ADT工作流,根据项目是调试版本还是发布版本(即在Eclipse中是运行还是导出应用程序),将特定资源应用于项目?我们经常遇到的常见用例是使用API键(如映射)。最好设置一个项目,专门为所有调试字符串创建一个strings.xml文件,然后为所有发布字符串创建一个单独的文件 有没有什么方法可以做到这一点,而不需要使用ANT或Maven风格的构建?尽管这不是您所要求的,但我强烈建议您在每次构建时自动化发布构建,以确保其一致性和正确性 对于开

是否有人知道一种聪明的方法,理想情况下使用Eclipse/ADT工作流,根据项目是调试版本还是发布版本(即在Eclipse中是运行还是导出应用程序),将特定资源应用于项目?我们经常遇到的常见用例是使用API键(如映射)。最好设置一个项目,专门为所有调试字符串创建一个strings.xml文件,然后为所有发布字符串创建一个单独的文件


有没有什么方法可以做到这一点,而不需要使用ANT或Maven风格的构建?

尽管这不是您所要求的,但我强烈建议您在每次构建时自动化发布构建,以确保其一致性和正确性

对于开发,在这种情况下,您可以继续使用Eclipse工作流。对于我自己的应用程序Raindy Days,我在ant构建中关闭了debug和release映射键。我在字符串资源中设置了映射键,并在ant构建中替换该字符串。然后,我使用Jenkins构建发行版,如果构建成功,我会从Jenkins那里获得祝福的apk。这样做的好处是,您可以通过单元测试和设备安装测试以自动化的方式进一步自动化构建


不应该在代码中检测调试构建,因为它会添加更多的代码路径并使代码更复杂,在某些情况下,甚至会在运行时增加开销。

这里发布了一些选项/想法:感谢您在这方面的想法。@BattleApp能否详细解释一下如何切换/替换字符串文件中的值?@SandepChayapathi我用来查找和替换资源文件中的文本。@botteaap谢谢。包含映射键的字符串资源,它们是项目的一部分吗?如何使用eclipse的常规构建来管理这一点?Im处于类似的情况,我必须切换到不同的URL进行发布和调试/测试构建。我在编译前手动更改标志。我不小心把一个测试版本上传到了google play上,这造成了巨大的破坏。试图找出今后避免这种情况的方法。我没有使用grep/replace,而是设置了一个ant预构建规则来覆盖文件(具有整数和布尔值的资源文件)。启动时,应用程序将根据这些值设置一系列静态变量。这次讨论为我指明了正确的方向-