manifestPlaceHolders不替换值

时间:2014-12-01 17:35:16

标签: android gradle android-gradle

我想替换AndroidManifest.xml中的值:

我有一个调试清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

    <application>
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="${mapsApiKey}" />
    </application>

</manifest>

这只是清单合并与整个应用程序合并的一部分。

在我的gradle构建脚本中:

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        signingConfig signingConfigs.release
    }
    debug {
        minifyEnabled false
        manifestPlaceholders = [debugMapsApiKey: "${DEBUG_MAPS_API_KEY}"]
    }
}

DEBUG_MAPS_API_KEY在我的gradle.properties文件中定义。但是我没有看到替代发生。

是什么给出了?

1 个答案:

答案 0 :(得分:4)

你在剧本

宣布
debug {
    minifyEnabled false
    manifestPlaceholders = [debugMapsApiKey: "${DEBUG_MAPS_API_KEY}"]
}

占位符为 debugMapsApiKey ,但在Manifest中使用了另一个名称 mapsApiKey

  

机器人:值=&#34; $ {mapsApiKey}&#34;