Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.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清单中调试或发布模式的单独XML行_Android_Android Manifest_Android Debug - Fatal编程技术网

android清单中调试或发布模式的单独XML行

android清单中调试或发布模式的单独XML行,android,android-manifest,android-debug,Android,Android Manifest,Android Debug,我的Android清单在调试和发布时使用不同的值 区分每种构建类型的值的最简单方法是什么 调试时: <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my-lovely-debug-api-key" /> 发布时: <meta-data android:name="com.google.android.map

我的Android清单在调试和发布时使用不同的值

区分每种构建类型的值的最简单方法是什么

调试时:

    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="my-lovely-debug-api-key" />

发布时:

    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="my-lovely-release-api-key" />


tia.

注意,如果您使用默认的Eclipse构建,那么它可能会在Eclipse中使用一个特别配置的“Ant”模块。您可以通过检查Eclipse/Prefs中的“Window/Preferences/Ant”部分来检查Eclipse/Ant的协调程度

一种解决方案是使Eclipse/Ant的协作更加明确,以便“build.xml”文件成为项目的一部分(项目级构建文件,而不是在构建时从$SDK/ROOT文件夹复制的默认文件)

查看并阅读底部的注释,以更好地了解如何使用项目级的“build.xml”文件

一旦你理解了这一点,下面的解决方案将更有意义

--解决方案--

修改“build.xml”文件的发行版和调试部分,如下所示:

  <!-- **************** Debug specific targets *************** -->
  ...
    <target name="-set-debug-mode" depends="-setup">
  ...

        <!-- API modify belo for build-typ -->
         <copy file="config/strings.xml" todir="res/values">
       <filterset>
    <filter token="CONFIG.API" value="${config.db.api}"/>
    <filter token="CONFIG.REST" value="${config.db.rest}"/> 
    </filterset> 
    </copy>
  ...



   <!-- *************** Release specific targets ************** -->
  ...
  <target name="-set-release-mode" depends="-set-mode-check">
   ...
   <!-- API modify belo for build-typ -->
   <copy file="config/strings.xml" todir="res/values">
     <filterset>
     <filter token="CONFIG.API" value="${config.db.api.prod}"/> 
     <filter token="CONFIG.REST" value="${config.db.rest.prod}"/>
    </filterset> 
   </copy>
并将其绑定到一个资源xml中,该xml是构建中“复制”命令的目标

 'config/strings.xml'  

<string name="default_value_parse_key_appId">@CONFIG.API@</string>
<string name="default_value_parse_key_rest">@CONFIG.REST@</string>
“config/strings.xml”
@CONFIG.API@
@CONFIG.REST@

您使用的构建系统是什么?(maven、ant、gradle…)无论eclipse使用什么:)似乎都比我当前的解决方案要好,它是一种代码,而不是运行预构建来交换值。谢谢
 'config/strings.xml'  

<string name="default_value_parse_key_appId">@CONFIG.API@</string>
<string name="default_value_parse_key_rest">@CONFIG.REST@</string>