日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android Gradle 多渠道打包、动态配置AppName

發布時間:2023/12/13 Android 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android Gradle 多渠道打包、动态配置AppName 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 一、簡介
  • 二、Gradle多渠道打包
    • 1、普通做法
    • 2、Gradle多渠道打包

一、簡介

因為國內Android應用分發市場的現狀,我們在發布APP時,一般需要生成多個渠道包,上傳到不同的應用市場。這些渠道包需要包含不同的渠道信息,在APP和后臺交互或者數據上報時,會帶上各自的渠道信息。這樣,我們就能統計到每個分發市場的下載數、用戶數等關鍵數據。

二、Gradle多渠道打包

1、普通做法

通常情況下的做法是在 AndroidManifest 中增加渠道號:

<meta-data android:name="SDK_CHANNEL" android:value="Channel ID" />

如需更改則手動設置,然后再次打包。如此一來,重復的工作量大大增加。于是就有了AndroidStudio上的多渠道打包。

2、Gradle多渠道打包

對于這種情況,Android Gradle提供了非常便捷的方法讓我們來替換AndroidManifest文件中的內容,他就是 manifestPlaceholderManifest 占位符。

ManifestPlaceholdersProductFlavor 的一個屬性,是一個Map類型,所以我們可以同時配置很多個占位符。下面我們就通過這個配置渠道號的例子來演示manifestPlaceholders的用法。

build.gradle 中的 android 標簽內增加如下代碼:

android {...productFlavors{google{manifestPlaceholders = [SDKChannel: "google",app_name : "@string/app_name",]}baidu{manifestPlaceholders = [SDKChannel: "baidu",app_name : "@string/app_name",]}} }

AndroidManifest.xml 文件中代碼如下:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.sdk"><application ...android:label="${app_name}"><meta-dataandroid:name="SDKChannel"android:value="${SDKChannel}" />...</application> </manifest>

接下來我們就來看看打包效果了。

如果,一個App的渠道號很多的話,我們總不能一個個配置吧,太多也太累,維護也麻煩,我們還可以通過迭代productFlavors批量的方式進行修改。

android {...productFlavors{google{}baidu{}}productFlavors.all { flavor ->flavor.manifestPlaceholders = [SDKChannel: name, app_name : "@string/app_name"]} }

我們通過all函數遍歷每一個ProductFlavor,然后把它們的name作為渠道名,非常方便。這里不止可以做這一個事情,在遍歷ProductFlavor的時候,你可以做很多你想做的事情,這就是Gradle的靈活之處,把腳本當程序寫。

Android Gradle提供的manifestPlaceholders占位符的應用方式,讓我們可以替換AndroidManifest文件中任何${Var}格式的占位符。所以他的使用場景不限于渠道名這一個,比如還有ContentProvider的auth的授權,或者其他動態配置meta信息等。靈活運用它能幫助我們做很多事情,讓我們的構建更靈活,更方便。

總結

以上是生活随笔為你收集整理的Android Gradle 多渠道打包、动态配置AppName的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。