署名に依存する Google マップのキーでも同様の問題がありました。私がしたことは、リソースを条件付きでプロジェクトに生成/コピーするantスクリプトを使用することでした。Project>Properties>Buildersの下でEclipseにantスクリプトを含めることができます
コードで DEBUG 値を使用する必要がある場合は、条件付きで含まれる静的な値を持つ Java ファイルを作成できます。
Ant 環境変数が適切に機能したかどうかコメントしてください (スクリプトの実行後にコンソールに "Build type: " メッセージが表示されます)。
<project name="build-res">
<property name="conditional.resources.dir" value="myresources" />
<property name="keys_file" value="res/values/keys.xml" />
<target name="copy-release" if="${build.mode.release}" >
<property name="build.type" value="Release" />
<echo message="Build type: ${build.type}" />
<property name="google.maps.key" value="nanana-value-for-release" />
<copy file="${conditional.resources.dir}/Release.java" tofile="gen/com/example/project/BuildInfo.java" />
</target>
<target name="copy-debug" if="${build.mode.debug}">
<property name="build.type" value="Debug" />
<echo message="Build type: ${build.type}" />
<property name="google.maps.key" value="lalala-value-for-debug" />
<copy file="${conditional.resources.dir}/Debug.java" tofile="gen/com/example/project/BuildInfo.java" />
</target>
<target name="build-res" depends="copy-debug,copy-release">
<echo file="${keys_file}" message="<?xml version='1.0' encoding='utf-8'?><resources><string name='google_maps_key'>${google.maps.key}</string></resources>" />
</target>
</project>