2016-11-10 35 views
2

現在、私は自分のアプリケーションにショートカットを追加しましたが、2つの異なるバージョンの私のアプリケーションの2つの異なるパッケージ名があります。 shortcuts.xmlの中で$ {applicationId}を使用すると、文字列リソース参照が機能しません。どのように私のtargetPackageが私のアプリの私のproductFlavorsへの異なったapplicationIdを指すように指し示すのですか?ショートカットAPI Android multiple applicationId

+0

それは単なる回避策ですが、私はこのためのシンプルなのGradleプラグインを開発場合。正しいtargetPackageで各フレーバのxmlを作成します。たぶん助けになるでしょうhttps://github.com/Zellius/android-shortcut-gradle-plugin – Zellius

答えて

0

私のtargetPackageが、別のアプリケーションを指すようにするにはどうすればいいですか?私のアプリのproductFlavorsに割り当てられますか?

各製品のフレーバーの 'flavorname/src/res/xml/'ディレクトリに別のショートカットXMLファイルがあります。 shortcuts.xml内部

使用$ {アプリケーションID}は、それが唯一のマニフェストのためのものである、現在

働きません。

も理想的には、これは動作します文字列リソース参照

をんが、現時点ではサポートされていません。

0

あなたshortcuts.xml内の$ {APPLICATIONID}を使用したい場合は、あなたがあなたのbuild.gradleに以下を追加することができます。

android { 
    applicationVariants.all { variant -> 
     variant.mergeResources.doLast { 
      println "Updating shortcuts.xml" 
      ant.replaceregexp(match: "\\\$\\{applicationId\\}", replace: defaultConfig.applicationId, flags: 'g', byline: true) { 
       fileset(dir: "${buildDir}/intermediates/res/merged/${variant.dirName}/xml", includes: 'shortcuts.xml') 
      } 
     } 
    } 
} 
+0

注:これは、このコマンドを実行する前にファイルがフラット化される最新のGradleバージョンでは機能しません。 – Fabi

関連する問題