有两个API,一个用于QA(测试和调试),另一个用于Production
我需要运行用于调试的api (我们使用eclipse创建)和Production api,当我们在不更改代码的情况下创建market apk时。有没有办法用代码检查当前正在运行的是debug apk还是market apk。或者任何我可以在清单中设置的东西
谢谢
发布于 2011-01-12 20:15:57
这就是Ant可以帮助你的地方。我总是使用Eclipse构建调试版本,然后使用Ant构建发布版本,这主要是因为我需要为每个版本使用不同的Google Maps API密钥。我有两个版本的main.xml,即debugmain.xml和releasemain.xml。我已经修改了build.xml中的发布目标,并添加了两个额外的目标:
<target name="check-release_main">
<available file="${layout.dir}/releasemain.xml" property="releasemain.present" />
</target>
<target name="-copy-rel-main" depends="check-release_main" if="releasemain.present">
<echo message="Hit copy rel main" />
<copy file="${layout.dir}/releasemain.xml" tofile="${layout.dir}/main.xml" overwrite="true"/>
</target>我将发布目标的依赖项更改为依赖copy-rel-main:
<target name="release" depends="clean, -copy-rel-main....... 在发布目标的最后,复制了main.xml的调试版本以将main.xml重写回调试版本
......
<echo message="Copying the debugmain.xml back to main.xml" />
<echo message="ALWAYS LEFT IN DEBUG FROR ECLIPSE" />
<copy file="${layout.dir}/debugmain.xml" tofile="${layout.dir}/main.xml" overwrite="true" />
</target>您可以调整您的版本,以便在其中一个元素中包含一些可识别的文本或颜色,以表示设备上运行的是哪个版本
发布于 2011-01-12 14:08:48
在对应用程序进行签名时,可以在调试模式下对其进行签名。当您准备好发布时,您可以更改签名。下面是来自谷歌文档Signing Your Application的更多信息
发布于 2011-01-12 14:18:14
您可以将布尔值与字符串一起存储在XML文件中:
<resources>
<bool name="debug">true</bool>
</resources>然后在代码中使用this.getResources().getBoolean(R.debug) (其中this是一个活动或其他上下文)访问它。在大多数情况下保持为true,然后在发布时将其设置为false。
https://stackoverflow.com/questions/4665652
复制相似问题