【问题标题】:How to get BuildConfig values from xml?如何从 xml 获取 BuildConfig 值?
【发布时间】:2015-02-03 18:58:27
【问题描述】:

我有一个 xml 文件。在 xml 文件中,我想获得一个 BuildConfig 值。 BuildConfig 值在 build.gradle 中设置。

   <?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="com_my_api_key">**REPLACE_WITH_YOUR_API_KEY**</string>
</resources>

我想从 buildConfig 中获取那个 api Key,类似于我在 java 代码中获取这些值的方式。

  public class MyApp extends Application{

      public String APPTIMIZE_KEY = BuildConfig.APPTIMIZE_KEY;

 }

这是在 build.gradle 中设置的值,它来自外部文件。

   release {
        buildConfigField "boolean", "APP_DEBUG", "false"
        buildConfigField "String", "APPTIMIZE_KEY", "\"${props.getProperty("apptimizeKey_App1")}\""

我如何在xml文件中引用这个---> BuildConfig.APPTIMIZE_KEY来获取它?

【问题讨论】:

    标签: android xml gradle android-xml


    【解决方案1】:

    a lightly documented resValue counterpart to buildConfigField。我还没有尝试过,但是我会从这里开始:

    resValue "string", "com_my_api_key", "\"${props.getProperty("apptimizeKey_App1")}\""
    

    如果您需要/希望该值也可以从BuildConfig 访问,这将与您现有的buildConfigField 一起使用。您将不再需要手动声明字符串资源,而是会为您生成它。

    【讨论】:

    • @sirvon:我还没试过,如果你不介意我问,你需要保留反斜杠内引号吗? buildConfigField 需要它们,因为该值会直接进入生成的 Java,但我不确定 resValue 是否也需要它们。
    • 确实如此。我第一次尝试这样...... resValue“字符串”,“RES_FOO”,“RES FOO RELEASE”。无济于事。正是你发布它的方式是胜利者。
    猜你喜欢
    • 2012-07-24
    • 2017-05-02
    • 2021-06-15
    • 1970-01-01
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    相关资源
    最近更新 更多