2017-01-27 8 views
0

AppIcon以外の同じ画像とリソースを使用する2つのアプリケーションがあります。 一般的な解決方法は、srcの下に各アプリケーション用の別個のフォルダを用意し、対応するフォルダを使用するようにgradleを設定することです。バリアントと異なるAppIconを作成

私の場合、リソースの99%は両方のアプリケーションから使用されていますが、appiconだけが異なります。

他のresフォルダを使用するメカニズムを使用する必要がありますか、より簡単な方法もありますので、すべてのリソースを複製する必要はありませんか?

私はこのような何かを考えていた: 私は次のようにAndroidManifestエントリを持っている:

<application android:name="bla.bla.MyApplication" android:largeHeap="true" android:icon="@drawable/icon" android:label="@string/app_name"> 

私は正常に動作し、次のようGradleの中で名前を上書きすることができます。

demo { 
    resValue "string", "app_name", "This is the Demo" 
    resValue "drawable", "icon", "demoicon" 
} 

同じ方法でiconnameを上書きする方法はありますか?

上記のスニペットからわかるように、私はすでに試してみましたが、 res/drawableの下に保存されたデモコンは自動的に生成されるため、重複したリソースエラーが発生します。

答えて

0

生産のようなあなたの味が名前場合:

android.sourceSets.production 
{ 
    res.srcDirs = ['res', '/path/to/production/res/dir'] 
} 

そして、あなたの/パス/に/生産/ resを/ DIR/drawable-に*あなたのランチャーアイコンを持っているでしょう。

+0

しかし:次のように参照されたとき、それは、AndroidManifestのアイコンを置き換えます

buildTypes { demo { manifestPlaceholders = [iconpath:"@drawable/icon_timeline_test"] } 

:私のbuild.gradleで

私はテストフォルダから生産フォルダに穴のリソースをクローンしなければなりません。私はアイコン以外のすべてのものを共有したいと思います。 –

0

はそれを次のようIsolved:

を私だけのアプリアイコンを変更するには、別のビルドタイプのためのresフォルダのクローンを作成したくありませんでした。

manifestPlaceholdersで行うことができます。その後、

android:icon="${iconpath}" 
関連する問題