2016-11-10 51 views
2

因此,目前我向應用程序添加了快捷方式,但我的應用程序的兩個不同版本有兩個不同的軟件包名稱。在shortcuts.xml中使用$ {applicationId}不起作用,也不會執行字符串資源引用。如何將我的targetPackage指向我的應用程序中不同的applicationId到我的productFlavors?Shortcut API Android multiple applicationId

+0

這僅僅是解決辦法,但我開發了一個簡單的插件的gradle這個案件。它使用正確的targetPackage爲每個flavor創建xml。也許它會幫助https://github.com/Zellius/android-shortcut-gradle-plugin – Zellius

回答

0

如何指向我的targetPackage指向我的應用程序中的不同applicationId對我的productFlavors?

在每個產品口味的flavorname/src/res/xml/目錄中都有不同的快捷方式XML文件。

使用$ {}的applicationID裏面shortcuts.xml不起作用

目前,這是隻爲明顯。

也沒有一個字符串資源引用

理想的情況下,這會工作,但不會在目前的支持。

0

如果您想使用$ {}的applicationID您shortcuts.xml裏面,你可以添加以下到您的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

相關問題