如何在构建gradle文件中更改android应用程序名称

时间:2014-03-24 10:41:04

标签: gradle android-gradle build.gradle

我使用gradle为2个小型Android应用程序创建不同的风格,我想知道我是否可以在build.gradle的xml文件中编辑应用程序名称,以获得不同的风格。

5 个答案:

答案 0 :(得分:15)

app name你是什么意思?清单中的应用程序包名称或启动程序中显示的应用程序名称?

如果是前者,请执行:

android {
  productFlavors {
    flavor1 {
      packageName 'com.example.flavor1'
    }
    flavor2 {
      packageName 'com.example.flavor2'
    }
  }
}

也可以覆盖应用名称,但您必须提供风味覆盖资源。

所以创建以下文件:

  • src/flavor1/res/values/strings.xml
  • src/flavor2/res/values/strings.xml

在其中只是覆盖包含您的应用名称的字符串资源(您的清单通过@string/app_name之类的内容用于主要活动标签。您还可以根据需要提供不同的翻译。

答案 1 :(得分:9)

您可以使用description="WhoGives"&images[0][container]=“offerImages”&images[0][name]=“563f993e4b00ddad7ed42790_0.jpg”&images[1][container]=“ offerImages”&images[1][name]=“563f993e4b00ddad7ed42790_1.jpg" ,例如

resValue

确保您的AndroidManifest使用debug { resValue 'string', 'app_name', '"MyApp (Debug)"'` } release { resValue 'string', 'app_name', '"MyApp"' } 作为应用程序,并从strings.xml中删除app_name,因为当它尝试合并时,它会与gradle生成的android:label="@string/app_name"冲突。

答案 2 :(得分:4)

实际上......为了更明确的解释;

主要 build.gradle:

ext {
    APP_NAME = "My Fabulous App"
    APP_NAME_DEBUG = "My Fabulous App debug"
}

app build.gradle:

android {
    buildTypes {
        debug {
            manifestPlaceholders = [appName: APP_NAME_DEBUG]
        }
        release {
            manifestPlaceholders = [appName: APP_NAME]
        }
    }
}

所以在AndroidManifest.xml中

<application
    ...
    android:label="${appName}"
    >

是可能的。瞧!您有不同的应用程序名称用于发布和调试。

答案 3 :(得分:0)

这个答案基于Tom's,它的效果最好,您可以使用gradle.properties来进行构建过程中的进一步动画。

build.gradle

debug {
  resValue 'string', 'app_name', APP_NAME
}

gradle.properties

APP_NAME="Template 1"

答案 4 :(得分:0)

清单

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.myapp"> 


<application
    tools:replace="android:label"
    android:label="${appName}"
    android:theme="@style/AppTheme">

 <activity
    android:name=".MainActivity"      
    android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
    android:label="${appName}"
    android:windowSoftInputMode="adjustResize">
    <intent-filter>
         <action android:name="android.intent.action.MAIN" />
         <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

Gradle

buildTypes {
    release {
         minifyEnabled enableProguardInReleaseBuilds
         proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
         signingConfig signingConfigs.release
//       manifestPlaceholders = [appName: appConfig.appName]
         manifestPlaceholders = [appName: "Your app Name"]

    }

    debug {
         signingConfig signingConfigs.release
//       manifestPlaceholders = [appName: appConfig.appName]
         manifestPlaceholders = [appName: "Your app Name"] 

    }
}