web-dev-qa-db-ja.com

Android studio?で異なるアプリ名でフレーバーを使用する方法?

アプリレベルのbuild.gradleには、次のフレーバーがあります。

productFlavors {
    originalFlavour{
    }

    freeFlavour{
    }
}

問題は、同じアプリ名を取得する両方のフレーバーを構築することです。代わりに、フレーバーごとに異なるアプリ名を付けたいと思います。接尾辞を追加するだけで便利です。誰かが私を助けてくれることを願っています。

前もって感謝します

[〜#〜] edit [〜#〜]

app/src/main/AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="z.fncapps.etsiipod"  >

    <uses-permission
        Android:name="Android.permission.CALL_PHONE"
        Android:required="false" />

    <uses-feature
        Android:name="Android.hardware.telephony"
        Android:required="false"/>

    <application
        Android:allowBackup="true"
        Android:icon="@drawable/ic_launcher"
        Android:label="@string/app_name"
        Android:theme="@style/AppTheme" >

        <!-- actvities declared here -->
    </application>
</manifest>

app/src/freeFlavour/AndroidManifest.xml

<uses-permission 
    Android:name="Android.permission.CALL_PHONE"
    Android:required="false" />
<uses-permission Android:name="Android.permission.INTERNET"/>
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE"/>

<uses-feature
   Android:name="Android.hardware.telephony"
   Android:required="false" />

<application
    Android:allowBackup="true"
    Android:icon="@drawable/ic_launcher"
    Android:label="@string/app_name"
    Android:theme="@style/AppTheme" >

    <!-- actvities declared here -->
</application>
36
fapps

AndroidManifest.xmlで文字列リソースを使用できます。

<application Android:label="@string/app_name">

そして、../ app/src /フォルダーの各フレーバーに異なる値のリソースファイルを使用します。

../app/src/

このソリューションの鍵は、各フレーバーの各値フォルダー内にローカライズされたstrings.xmlファイルを作成できることです:/ res/values /、/ res/values-pt /、/ res/values-es /など.

string.xmlはアプリ名をローカライズできます。デフォルト(/ res/values /)はFree Flavor Name になり得る:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">Free Flavor Name</string>
</resources>
23
crubio

無料フレーバーのマニフェストが既にあるので、そのラベルを異なる文字列リソース値に割り当ててみませんか?

Android:label="@string/free_app_name"
1
jk7