android 實現多渠道打包

前言

目前國內手機廠商較多,並且每個手機廠商都有本身的應用市場,那麼若是區分咱們的應用來自哪一個市場呢?這就須要針對不一樣的應用市場,進行打包。那麼咱們的總不會修改一次打一個包,畢竟程序員都是筆比較懶的。那麼有沒有什麼辦法能夠一會兒全都應用市場都打包好呢?這就須要多渠道到打包的知識了android

productFlavors

在 build.gradle 中配置下面的內容:程序員

productFlavors {

        yingyongbao{
            manifestPlaceholders = [AM:"應用寶"]
        }
        xiaomi{
            manifestPlaceholders = [AM:"小米應用市場"]
        }
 baidu{
            manifestPlaceholders = [AM:"百度應用市場"]
        }
}

那麼這裏的 manifestPlaceholders 是什麼意思呢?
就是在清單文件中。有 "AM" 這個標籤的地方,就會被賦值成 上面配置的內容,如「應用寶」
AndroidManifest.xml 中配置的內容gradle

<meta-data
            android:name="CHANNEL"
            android:value="${AM}" />

而後在 Terminal 中使用 gradlew assembleRelease 進行打包,就能夠一會兒所有打包成功。
而後清單文件中的 android:value="${AM}" 會被替換成相應的值。這樣就能夠進行統計了。ui

相關文章
相關標籤/搜索