应用程序名称作为gradle参数

时间:2015-09-08 13:34:46

标签: android gradle

我想做类似的事情:gradle build DemoApp,并让DemoApp.apk使用应用程序名称" DemoApp"作为输出。 另外,如果使用相同的流程,我可以更改应用程序图标吗? 还有一些内在的参数? 产品口味 - 对我来说不是秘密。我不需要不同的配置,我需要在构建时更改应用程序名称。例如,我有一些Rest API,允许传递参数并返回带有名为该参数的应用程序的apk。与图标和其他相同。

3 个答案:

答案 0 :(得分:3)

结帐Manifest Merger专门占位符。以下是在gradle文件中设置应用程序名称的示例。

// AndroidManifest.xml
<application
    android:label="${applicationName}"

// build.gradle
buildTypes {
    release {
        minifyEnabled false
        manifestPlaceholders = [applicationName: "MobileWorkforce"]
    }

另一个选项是使用@ string / app_name并根据buildType / flavor定义不同的string.xml文件。

答案 1 :(得分:3)

鉴于你不知道如何正确使用香精,混合其他解决方案。

的AndroidManifest.xml

<application
    android:label="${applicationName}"

MyHttpThing.java

callserver(BuildConfig.ENDPOINT + "/api/v3/", "stuff")

的build.gradle

buildTypes {
    release {
        minifyEnabled false
        manifestPlaceholders = [applicationName: myappname]
        buildConfigField "String", "ENDPOINT", myendpoint
    }

并致电

gradle -Pmyappname=namy_name_name -Pmyendpoint="http://google.com" build DemoApp 

答案 2 :(得分:0)

看起来你正在寻找Product Flavors,它们正是为了拥有共享代码库的应用程序的多个自定义版本。您可以自定义图标,只要任何其他资源。是的,.apk将根据味道的名称命名。